|
|
| (1 промежуточная версия не показана) |
| Строка 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''.
| |
| - |
| |
| - | == Ссылки ==
| |
| - | * [https://www.cs.ubc.ca/~murphyk/MLbook/ Bayesian Machine Learning (Murphy K.)]
| |
| - | * [http://www.inference.org.uk/mackay/itila/ Information Theory, Inference, and Learning Algorithms (MacKay D.)]
| |
| - |
| |
| - | [[Категория:Теория вероятностей]]
| |
| - | [[Категория:Машинное обучение]]
| |
| - | [[Категория:Байесовские методы]]
| |
| - | [[Категория:Оптимизация]]
| |