Участник:Amir Baidanov

Материал из MachineLearning.

(Различия между версиями)
Перейти к: навигация, поиск
(Ссылки)
(Полностью удалено содержимое страницы)
 
Строка 1: Строка 1:
-
{{well|Статья написана с использованием LLM '''GPT-4 Turbo''' и проверена участником [[Участник:Amir Baidanov|Amir Baidanov]] 22:42, 18 июля 2026 (MSD)}}
 
-
'''Теорема Байеса''' — фундаментальное утверждение [[теория вероятностей|теории вероятностей]], описывающее, как следует обновлять вероятностные оценки гипотез при поступлении новых данных. В [[машинное обучение|машинном обучении]] теорема лежит в основе [[байесовский вывод|байесовского вывода]], [[байесовская оптимизация|байесовской оптимизации]] и [[вероятностное моделирование|вероятностного моделирования]]. Она даёт строгий математический аппарат для перехода от [[априорное распределение|априорных]] представлений к [[апостериорное распределение|апостериорным]].
 
-
 
-
== Историческая справка ==
 
-
Теорема названа в честь преподобного Томаса Байеса (1701–1761), который сформулировал её частный случай в работе «An Essay towards solving a Problem in the Doctrine of Chances» (1763) <ref name="bayes1763">Bayes T. (1763). An Essay towards solving a Problem in the Doctrine of Chances. ''Philosophical Transactions of the Royal Society of London'', 53: 370–418.</ref>. Современный вид теорема приобрела благодаря Пьеру-Симону Лапласу, который в 1774 году независимо переоткрыл и обобщил результат Байеса, а также ввёл понятие [[априорное распределение|априорного распределения]] и показал его применимость к задачам [[статистический вывод|статистического вывода]] <ref name="laplace1774">Laplace P.-S. (1774). Mémoire sur la probabilité des causes par les événements. ''Mémoires de l'Académie royale des Sciences de Paris'', 6: 621–656.</ref>. В XX веке теорема стала краеугольным камнем [[байесовская статистика|байесовской статистики]], которая противопоставлялась [[частотный подход|частотному подходу]]. С развитием [[вычислительная статистика|вычислительной статистики]] и [[приближённый байесовский вывод|приближённых методов]] байесовские подходы заняли прочное место в машинном обучении.
 
-
 
-
== Интуитивная картина ==
 
-
Представьте, что у вас есть некоторое предположение о мире (гипотеза). До наблюдения данных у вас есть некоторое начальное представление о её правдоподобности — это [[априорное распределение|априорная вероятность]]. Когда вы получаете новые данные, вы корректируете своё представление: если данные согласуются с гипотезой, вы укрепляетесь в ней; если противоречат — ослабляете. Теорема Байеса даёт количественное описание этого процесса обновления убеждений.
 
-
 
-
Рассмотрим пример из практики [[стохастический градиентный спуск|стохастического градиентного спуска]]. Пусть мы хотим оценить вероятность того, что обучение сойдётся к хорошему решению за заданное число шагов. При использовании малого мини-пакета (например, 8–32 примера) градиент получается шумным, и апостериорная оценка вероятности успеха постоянно обновляется по мере наблюдения за траекторией:
 
-
 
-
<tex>P(\text{успех} \mid \text{траектория}) \propto P(\text{траектория} \mid \text{успех}) \cdot P(\text{успех})</tex>.
 
-
 
-
С большим мини-пакетом (512–4096) шум градиента ниже, траектория стабильнее, но выше риск застрять в [[локальный минимум|локальном минимуме]]. Апостериорное сравнение позволяет выбрать размер мини-пакета, оптимальный для конкретной задачи.
 
-
 
-
== Математическая постановка ==
 
-
Пусть <tex>\theta</tex> — параметр или гипотеза, а <tex>D</tex> — наблюдаемые данные. Тогда теорема Байеса записывается как:
 
-
 
-
<tex>P(\theta \mid D) = \frac{P(D \mid \theta) \cdot P(\theta)}{P(D)}</tex>,
 
-
 
-
где:
 
-
* <tex>P(\theta)</tex> — [[априорное распределение]] (prior), выражающее знания о <tex>\theta</tex> до наблюдения данных;
 
-
* <tex>P(D \mid \theta)</tex> — [[функция правдоподобия]] (likelihood), определяющая вероятность наблюдения данных при заданном <tex>\theta</tex>;
 
-
* <tex>P(D)</tex> — [[маргинальная вероятность]] (evidence), вычисляемая как <tex>\sum_\theta P(D \mid \theta) P(\theta)</tex> или интеграл по <tex>\theta</tex> в случае непрерывных параметров;
 
-
* <tex>P(\theta \mid D)</tex> — [[апостериорное распределение]] (posterior), отражающее обновлённые знания после наблюдения данных.
 
-
 
-
В задачах [[максимизация апостериорной вероятности|MAP-оценивания]] (Maximum A Posteriori) ищется <tex>\arg\max_\theta P(\theta \mid D)</tex>, что эквивалентно максимизации <tex>P(D \mid \theta) \cdot P(\theta)</tex> с точностью до нормировочной константы <tex>P(D)</tex>.
 
-
 
-
== Виды шума в стохастической оптимизации ==
 
-
В [[стохастический градиентный спуск|стохастическом градиентном спуске]] (SGD) шум градиента возникает из-за случайного выбора мини-пакета. Для [[эмпирический риск|эмпирического риска]]
 
-
 
-
<tex>L(\theta) = \frac{1}{N} \sum_{i=1}^N \ell_i(\theta)</tex>
 
-
 
-
стохастический градиент на мини-пакете размера <tex>m</tex> имеет вид:
 
-
 
-
<tex>g_m(\theta) = \frac{1}{m} \sum_{i \in \mathcal{B}} \nabla \ell_i(\theta)</tex>,
 
-
 
-
где <tex>\mathcal{B}</tex> — случайное подмножество индексов размера <tex>m</tex>. Дисперсия этого градиента пропорциональна <tex>\sigma^2 / m</tex>, где <tex>\sigma^2</tex> — дисперсия градиента по отдельному примеру <ref name="goodfellow2016">Goodfellow I., Bengio Y., Courville A. (2016). ''Deep Learning''. MIT Press.</ref>. Таким образом, уменьшение <tex>m</tex> увеличивает шум градиента.
 
-
 
-
Выделяют два основных типа шума:
 
-
* '''Внутренний шум''' — обусловлен случайностью выбора мини-пакета из конечной выборки;
 
-
* '''Внешний шум''' — связан с [[стохастичность целевой функции|стохастичностью]] самой целевой функции (например, в задачах с [[шум в данных|шумными данными]]).
 
-
 
-
== Связь шума градиента с обобщением ==
 
-
Шум градиента выполняет две важные функции в процессе обучения:
 
-
# предотвращает застревание в [[плохой локальный минимум|плохих локальных минимумах]], позволяя алгоритму исследовать более широкие области [[ландшафт функции потерь|ландшафта]];
 
-
# способствует выходу в [[широкий минимум|широкие минимумы]], которые, как правило, лучше обобщают на [[тестовая выборка|тестовых данных]] <ref name="keskar2016">Keskar N. S., Mudigere D., Nocedal J., Smelyanskiy M., Tang P. T. P. (2016). On Large-Batch Training for Deep Learning: Generalization Gap and Sharp Minima. ''arXiv:1609.04836''.</ref>.
 
-
 
-
Однако шум не является гарантией улучшения обобщения. При чрезмерном шуме SGD может [[расходимость|расходиться]] или блуждать в областях с плохой [[локальная кривизна|локальной кривизной]], что ухудшает качество финального решения. Для задач с простой структурой (например, [[линейная регрессия]]) увеличение шума часто не даёт преимуществ, а лишь замедляет сходимость. Таким образом, влияние шума зависит от:
 
-
* [[архитектура нейронной сети|архитектуры модели]];
 
-
* [[регуляризация|регуляризации]];
 
-
* объёма и структуры [[обучающая выборка|обучающей выборки]];
 
-
* [[скорость обучения|скорости обучения]] и её [[расписание скорости обучения|расписания]].
 
-
 
-
== Влияние размера мини-пакета ==
 
-
Размер мини-пакета <tex>m</tex> является ключевым гиперпараметром, влияющим на процесс обучения:
 
-
 
-
* '''Малый мини-пакет''' (8–64):
 
-
* высокий шум градиента;
 
-
* более частая смена направления движения;
 
-
* лучшее исследование ландшафта;
 
-
* потенциально лучшее обобщение;
 
-
* но возможна нестабильность и медленная сходимость.
 
-
 
-
* '''Большой мини-пакет''' (512–4096 и выше):
 
-
* низкий шум градиента;
 
-
* стабильная траектория;
 
-
* эффективное использование [[векторизация|векторизации]] и [[матричные операции|матричных операций]];
 
-
* высокое быстродействие на [[GPU]];
 
-
* но риск попадания в узкие минимумы с плохим обобщением.
 
-
 
-
Исследования показывают <ref name="smith2017">Smith S. L., Kindermans P.-J., Ying C., Le Q. V. (2017). Don't Decay the Learning Rate, Increase the Batch Size. ''arXiv:1711.00489''.</ref>, что существует взаимосвязь между размером мини-пакета и скоростью обучения: увеличение <tex>m</tex> можно компенсировать увеличением [[скорость обучения|скорости обучения]], сохраняя уровень шума пропорциональным.
 
-
 
-
=== Пример: сравнение обучения с малым и большим мини-пакетом ===
 
-
Рассмотрим задачу [[классификация|классификации]] на наборе данных из 50 000 изображений (например, CIFAR-10). Обучим [[свёрточная нейронная сеть|свёрточную нейронную сеть]] двумя способами:
 
-
 
-
* '''Вариант A''': мини-пакет размера <tex>m = 64</tex>, скорость обучения <tex>\eta = 0.01</tex>;
 
-
* '''Вариант B''': мини-пакет размера <tex>m = 1024</tex>, скорость обучения <tex>\eta = 0.1</tex> (скорректирована пропорционально корню из отношения размеров).
 
-
 
-
На начальном этапе вариант A демонстрирует бóльшую флуктуацию функции потерь, но достигает более низкого значения [[ошибка на тестовой выборке|ошибки на тестовой выборке]] (например, 92% против 89%). Однако вариант B сходится за меньшее число [[эпоха (обучение)|эпох]] (30 против 80) и требует меньшего времени на одну эпоху благодаря эффективной векторизации. В некоторых случаях, если добавить [[схема распада скорости обучения|распад скорости обучения]], вариант B может достичь сравнимого качества. Это иллюстрирует, что выбор размера мини-пакета — это [[компромисс между скоростью и качеством|компромисс]], а не однозначное предпочтение одного варианта.
 
-
 
-
== Роль скорости обучения ==
 
-
Скорость обучения <tex>\eta</tex> тесно связана с шумом градиента. В работе <ref name="smith2017"/> показано, что эффективный шум пропорционален <tex>\eta / m</tex>. Это означает, что увеличение размера мини-пакета можно компенсировать увеличением скорости обучения, сохраняя динамику SGD неизменной. Однако на практике такая замена работает лишь в определённом диапазоне: при слишком большой <tex>\eta</tex> алгоритм расходится, а при слишком маленькой — сходится слишком медленно.
 
-
 
-
Оптимальное расписание скорости обучения часто включает:
 
-
* начальное значение <tex>\eta_0</tex>, выбираемое эмпирически;
 
-
* [[распад скорости обучения]] по [[степенной закон|степенному]] или [[экспоненциальный закон|экспоненциальному]] закону;
 
-
* [[циклическая скорость обучения]] для лучшего исследования ландшафта.
 
-
 
-
== Методы оценки шума и его влияния ==
 
-
Для количественной оценки шума градиента и его влияния на обучение используются следующие подходы:
 
-
 
-
* '''[[Трассировка дисперсии]]''' — вычисление дисперсии градиента вдоль траектории SGD. Позволяет оценить уровень шума в разных областях параметров.
 
-
* '''[[Сглаживание шума]]''' — применение [[экспоненциальное скользящее среднее|экспоненциального скользящего среднего]] градиента (как в оптимизаторах [[Adam]], [[RMSProp]]) для уменьшения влияния шума на шаг обновления.
 
-
* '''[[Оценка кривизны]]''' — анализ [[собственные значения Гессиана|собственных значений матрицы Гессе]] в точке сходимости. Узкие минимумы с большими собственными значениями обычно хуже обобщают, и шум помогает их избегать.
 
-
* '''[[Двойной спуск]]''' — феномен, когда качество модели сначала ухудшается, а затем улучшается при увеличении размера модели или данных. Это явление связывают с балансом между шумом и [[сложность модели|сложностью модели]] <ref name="nakkiran2020">Nakkiran P., Kaplun G., Bansal Y., Yang T., Barak B., Sutskever I. (2020). Deep Double Descent: Where Bigger Models and More Data Hurt. ''ICML 2020''.</ref>.
 
-
* '''[[Байесовская интерпретация SGD]]''' — подход, в котором SGD рассматривается как [[вариационный вывод]], где шум градиента соответствует [[стохастический градиент Ланжевена|стохастическому градиенту Ланжевена]] <ref name="mandt2017">Mandt S., Hoffman M. D., Blei D. M. (2017). Stochastic Gradient Descent as Approximate Bayesian Inference. ''JMLR'', 18(1): 1–35.</ref>.
 
-
 
-
== Практические рекомендации по выбору гиперпараметров ==
 
-
На основе теоретических и эмпирических исследований можно сформулировать следующие практические выводы:
 
-
 
-
# Для задач с небольшим объёмом данных (<10^4 примеров) предпочтительны мини-пакеты размера 8–64, чтобы обеспечить достаточный уровень шума для регуляризации.
 
-
# Для [[глубокое обучение|глубокого обучения]] на больших наборах (ImageNet, текстовые корпуса) часто используют размеры 256–1024, балансируя между скоростью и качеством.
 
-
# Для [[трансформер|трансформерных]] моделей, благодаря возможностям параллельных вычислений и большим объёмам данных, размеры мини-пакетов достигают 2048–32768.
 
-
# Для [[байесовская оптимизация|байесовской оптимизации]] и [[MCMC|MCMC-методов]] размер выборки часто выбирается равным всему набору данных для точной оценки [[логарифм правдоподобия|логарифма правдоподобия]].
 
-
# Скорость обучения должна корректироваться при изменении размера мини-пакета: при увеличении <tex>m</tex> в <tex>k</tex> раз <tex>\eta</tex> можно увеличить пропорционально <tex>\sqrt{k}</tex> или <tex>k</tex> в зависимости от задачи <ref name="goyal2017">Goyal P., Dollár P., Girshick R., et al. (2017). Accurate, Large Minibatch SGD: Training ImageNet in 1 Hour. ''arXiv:1706.02677''.</ref>.
 
-
# Для стабильного обучения на больших мини-пакетах рекомендуется использовать [[распад скорости обучения]] и [[ранняя остановка|раннюю остановку]].
 
-
 
-
== Ошибки интерпретации ==
 
-
=== Миф 1: Шум всегда улучшает обобщение ===
 
-
Это неверно. Слишком высокий шум может привести к тому, что SGD начнёт [[блуждание|блуждать]] в областях с плохой [[локальная кривизна|локальной кривизной]], ухудшая качество финального решения. Кроме того, для некоторых задач (например, [[линейная регрессия]] с [[квадратичная функция потерь|квадратичной функцией потерь]]) шум не даёт преимуществ, а лишь замедляет сходимость.
 
-
 
-
=== Миф 2: Малый мини-пакет всегда лучше большого ===
 
-
Эмпирические исследования показывают, что при правильном подборе скорости обучения и расписания её изменения большие мини-пакеты могут давать качество, сравнимое с малыми <ref name="goyal2017"/>. Более того, для некоторых архитектур (например, [[нормализация слоя|нормализация слоя]]) большие мини-пакеты даже предпочтительнее из-за более стабильной оценки статистик.
 
-
 
-
=== Миф 3: Апостериорная вероятность — это «истинная» вероятность параметра ===
 
-
Апостериорная вероятность <tex>P(\theta \mid D)</tex> зависит от выбора априорного распределения <tex>P(\theta)</tex>. Некорректный априор (например, слишком сильный или несоответствующий природе задачи) может существенно исказить выводы. В байесовском подходе важно проводить [[чувствительность к априорному распределению|анализ чувствительности]] к выбору априора.
 
-
 
-
=== Миф 4: Существует универсальный оптимальный размер мини-пакета ===
 
-
Оптимальный размер мини-пакета зависит от множества факторов: [[архитектура нейронной сети|архитектуры]], [[регуляризация|регуляризации]], [[число параметров|числа параметров]], объёма данных и доступных вычислительных ресурсов. Не существует единственной формулы, подходящей для всех задач.
 
-
 
-
== Современные исследования ==
 
-
В последние годы активно изучаются следующие направления, связанные с шумом градиента и размером мини-пакета:
 
-
 
-
* '''[[Адаптивный размер мини-пакета]]''' — алгоритмы, которые динамически изменяют <tex>m</tex> в процессе обучения на основе оценки [[дисперсия градиента|дисперсии градиента]] или [[критерий сходимости|критерия сходимости]] <ref name="de2020">De P., Rastogi A., Iyer R. (2020). Towards Better Generalization in Deep Learning through Adaptive Batch Size. ''arXiv:2006.08248''.</ref>.
 
-
* '''[[Шум как регуляризатор]]''' — попытки установить эквивалентность между шумом SGD и [[L2-регуляризация|L2-регуляризацией]] или [[ранняя остановка|ранней остановкой]] <ref name="zhang2021">Zhang C., Bengio S., Hardt M., Recht B., Vinyals O. (2021). Understanding deep learning requires rethinking generalization. ''Communications of the ACM'', 64(3): 107–115.</ref>.
 
-
* '''[[Байесовский SGD]]''' — интерпретация SGD как вариационного вывода, где шаг градиента соответствует шагу по [[свободная энергия|свободной энергии]], а шум — [[температура|температуре]] системы <ref name="mandt2017"/>.
 
-
* '''[[Плоские минимумы и устойчивость]]''' — работы о связи ширины минимума (измеряемой через [[собственные значения Гессиана]]) с обобщающей способностью и влиянии шума на выбор таких минимумов <ref name="hoffmann2022">Hoffmann J., Roberts D. A., Yaida S., et al. (2022). Training Compute-Optimal Large Language Models. ''arXiv:2203.15556''.</ref>.
 
-
* '''[[Влияние шума на обучение с подкреплением]]''' — исследования роли стохастичности в [[обучение с подкреплением|обучении с подкреплением]], где шум может служить [[исследование (RL)|исследованием]] среды.
 
-
 
-
== Краткий вывод ==
 
-
Теорема Байеса даёт фундаментальный механизм для обновления вероятностных оценок при поступлении данных. В контексте стохастической оптимизации она объясняет, как шум, порождаемый размером мини-пакета, влияет на траекторию SGD и качество финального решения. Шум градиента не является панацеей для улучшения обобщения: его влияние зависит от ландшафта [[функция потерь|функции потерь]], [[архитектура нейронной сети|архитектуры модели]], объёма и структуры данных. На практике выбор размера мини-пакета требует учёта как вычислительных ограничений, так и статистических свойств задачи.
 
-
 
-
'''Схема влияния размера мини-пакета на процесс обучения:'''
 
-
 
-
<tex>\text{мини-пакет} \to \text{шум градиента} \to \text{траектория оптимизации} \to \text{область параметров} \to \text{устойчивость решения} \to \text{тестовое качество}</tex>
 
-
 
-
== См. также ==
 
-
* [[Теорема Байеса]]
 
-
* [[Стохастический градиентный спуск]]
 
-
* [[Байесовский вывод]]
 
-
* [[Обучение с подкреплением]]
 
-
* [[Регуляризация]]
 
-
* [[Компромисс между смещением и разбросом]]
 
-
 
-
== Примечания ==
 
-
<references/>
 
-
 
-
== Литература ==
 
-
# Bayes T. (1763). An Essay towards solving a Problem in the Doctrine of Chances. ''Philosophical Transactions of the Royal Society of London'', 53: 370–418.
 
-
# Laplace P.-S. (1774). Mémoire sur la probabilité des causes par les événements. ''Mémoires de l'Académie royale des Sciences de Paris'', 6: 621–656.
 
-
# Goodfellow I., Bengio Y., Courville A. (2016). ''Deep Learning''. MIT Press.
 
-
# Keskar N. S., Mudigere D., Nocedal J., Smelyanskiy M., Tang P. T. P. (2016). On Large-Batch Training for Deep Learning: Generalization Gap and Sharp Minima. ''arXiv:1609.04836''.
 
-
# Smith S. L., Kindermans P.-J., Ying C., Le Q. V. (2017). Don't Decay the Learning Rate, Increase the Batch Size. ''arXiv:1711.00489''.
 
-
# Goyal P., Dollár P., Girshick R., et al. (2017). Accurate, Large Minibatch SGD: Training ImageNet in 1 Hour. ''arXiv:1706.02677''.
 
-
# Mandt S., Hoffman M. D., Blei D. M. (2017). Stochastic Gradient Descent as Approximate Bayesian Inference. ''JMLR'', 18(1): 1–35.
 
-
# Nakkiran P., Kaplun G., Bansal Y., Yang T., Barak B., Sutskever I. (2020). Deep Double Descent: Where Bigger Models and More Data Hurt. ''ICML 2020''.
 
-
# Zhang C., Bengio S., Hardt M., Recht B., Vinyals O. (2021). Understanding deep learning requires rethinking generalization. ''Communications of the ACM'', 64(3): 107–115.
 
-
# Hoffmann J., Roberts D. A., Yaida S., et al. (2022). Training Compute-Optimal Large Language Models. ''arXiv:2203.15556''.
 

Текущая версия

Личные инструменты