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

 

Лекция 11 — Оптимизация для глубокого обучения — Фрэнк Шнайдер



Numerics of ML 11 — Оптимизация для глубокого обучения — Фрэнк Шнайдер

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

Во второй части видео о числовых показателях оптимизации для глубокого обучения Фрэнк Шнайдер представляет инструмент Cockpit «Deep Debugger», который предоставляет дополнительные инструменты для обнаружения и исправления проблем в процессе обучения, таких как ошибки данных и блоки модели. Он объясняет важность нормализации данных для оптимальных гиперпараметров, взаимосвязь между скоростью обучения и точностью тестов, а также проблемы обучения нейронных сетей стохастичности. Шнайдер призывает студентов работать над улучшением обучения нейронных сетей, рассматривая градиент как распределение и разрабатывая более совершенные автономные методы в долгосрочной перспективе.

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

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

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

  • 00:15:00 В этом разделе Фрэнк Шнайдер объясняет, что машинное обучение — это не просто оптимизация, поскольку оптимизируемое количество (эмпирические потери) — это не то же самое, что количество, о котором на самом деле заботится алгоритм (истинные потери). Переобучение и обобщение на самом деле сложнее, чем просто переход от поезда к тесту, как в задачах перевода, где модели обучаются на кросс-энтропийных потерях, но оцениваются по качеству перевода. В результате люди разработали различные методы, такие как стохастический градиентный спуск, дисперсия импульса, среднеквадратичная опора и атом, чтобы учитывать предыдущие градиенты и понимать, как они должны вести себя в будущем. Всего доступно более 150 методов оптимизации и обучения алгоритмов глубокого обучения.

  • 00:20:00 В этом разделе спикер обсуждает подавляющее количество методов оптимизации, доступных для обучения нейронных сетей, с более чем 100 методами на выбор. Вопрос не только в выборе метода, но и в том, как его эффективно использовать. Например, даже если мы выберем метод оптимизации, такой как SGD или Adam, нам все равно нужно определиться с гиперпараметрами, такими как скорость обучения и эпсилон, которые может быть сложно настроить. Спикер предполагает, что нам нужны надлежащие тесты, чтобы понять, какие методы необходимы и улучшены, и что текущая проблема заключается в том, чтобы определить, что означает «лучше» в контексте глубокого обучения. В целом, основное внимание следует уделять тому, чтобы предоставить пользователям более полное представление о том, как использовать эти методы и как гиперпараметры влияют на процесс обучения.

  • 00:25:00 В этом разделе Фрэнк Шнайдер обсуждает проблемы, возникающие при сравнении алгоритмов обучения глубокому обучению, таких как оптимизация для задач с подкреплением, GAN и большие языковые модели. Становится трудно определить, являются ли различия в производительности значительными, поскольку может потребоваться запустить эти методы несколько раз для учета стохастичности. Проверка всех случаев может быть дорогостоящей и занимать много времени, поскольку обучение необходимо повторять несколько раз для всех методов общего назначения. Метод, используемый для обучения, должен быть проанализирован при тестировании нескольких задач, требующих изменения гиперпараметров, что делает его еще более дорогим. Более того, Шнайдер подчеркивает, что SGD и Adam — это семейства алгоритмов, которые нельзя сравнивать напрямую без указания точного набора параметров.

  • 00:30:00 В этом разделе Фрэнк Шнайдер обсуждает процесс определения современных методов обучения для глубокого обучения. Из-за большого количества доступных методов оптимизации им пришлось ограничиться тестированием только 15 методов оптимизации на 8 различных типах задач, начиная от простых квадратичных задач и заканчивая крупномасштабной классификацией изображений и рекуррентными моделями нейронных сетей. Чтобы смоделировать различные сценарии, они протестировали эти методы оптимизации в четырех разных условиях с разными бюджетами на настройку гиперпараметров, от однократной настройки с высокими параметрами по умолчанию до больших бюджетов для отраслевых специалистов, у которых больше доступных ресурсов. Цель состояла в том, чтобы определить, какие методы оптимизации работают лучше всего в различных сценариях, чтобы помочь практикам выбрать лучший метод для своего конкретного случая использования.

  • 00:35:00 В этом разделе Фрэнк Шнайдер обсуждает процесс оптимизации моделей глубокого обучения. Он объясняет, что, чтобы найти лучший метод оптимизации, им пришлось провести более 50 000 отдельных запусков, поскольку было 15 методов оптимизации и четыре графика скорости обучения. Шнайдер отмечает, что не было четкого современного метода обучения для глубокого обучения, поскольку несколько методов хорошо себя зарекомендовали на разных тестовых задачах. Однако Адам показывал неизменно хорошие результаты, а другие методы, основанные на Адаме, существенно не улучшали производительность. В целом, бенчмаркинг показал, что в настоящее время не существует четкого метода оптимизации, который работал бы для всех моделей глубокого обучения.

  • 00:40:00 В этом разделе спикер обсуждает трудности определения наиболее эффективного метода обучения нейронной сети из-за разнообразия доступных методов и отсутствия четкого протокола обучения. Спикер обсуждает создание ml Commons Benchmark их рабочей группой по алгоритмам, которое представляет собой соревнование по измерению ускорения обучения нейронной сети исключительно за счет алгоритмических изменений. Цель состоит в том, чтобы построить более эффективные алгоритмы для ускорения обучения нейронной сети. Докладчик также обсуждает отсутствие доступной информации о том, как использовать эти методы, и предлагает использовать дополнительную информацию для создания инструментов отладки, которые тем временем помогут пользователям, в надежде в конечном итоге создать лучший метод, который может делать все автоматически.

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

  • 00:50:00 В этом разделе спикер обсуждает, как кривая потерь может показать, обучается нейросеть или нет, но не объясняет, почему и что нужно сделать, чтобы ее улучшить. Ландшафт потерь имеет десятки миллионов измерений, что делает его почти невозможным для изучения. Тем не менее, спикер вводит количество, которое помогает охарактеризовать процедуру оптимизации нейронной сети, называемую альфой. Альфа-значение определяет, является ли сеть занижением, минимизацией или превышением, наблюдая за наклоном в направлении, в котором сеть шагает, что показывает, идет ли ландшафт потерь вверх или вниз.

  • 00:55:00 В этом разделе Фрэнк Шнайдер объясняет, как рассчитывается Альфа при оптимизации нейронной сети. Альфа — это скалярное значение, которое было объяснено в предыдущем разделе как направление, в котором движется модель для оптимизации нейронной сети. Шнайдер объясняет, что скалярная величина Альфа основана на размере шага по сравнению с наблюдаемыми потерями в этом направлении. Отрицательные значения Alpha подразумевают перешагивание, тогда как положительные значения подразумевают перешагивание, а единица означает переключение непосредственно на другую сторону долины. Шнайдер также объясняет, как, сжимая информацию в содержательные отчеты, разработчики могут создавать инструменты отладки для глубокого обучения, подобные инструментам классического программирования.

  • 01:00:00 В этом разделе Фрэнк Шнайдер представляет концепцию «глубокого отладчика» с инструментом «Кокпит», который дополняет процесс обучения зрителя дополнительными инструментами, как пилот в самолете. Шнайдер показывает, как Cockpit может предоставить новые точки зрения при обучении нейронной сети, такие как размер шага, расстояние, норма градиента и тесты градиента, которые могут помочь обнаружить и исправить такие проблемы, как ошибки данных в процессе обучения. С помощью дополнительных инструментов Cockpit может предоставить пользователям необходимую информацию и дополнить основной график производительности.

  • 01:05:00 В этом разделе спикер обсуждает, как использование нормализованных и необработанных данных в глубоком обучении влияет на производительность нейронной сети и оптимальные гиперпараметры. Необработанные данные со значениями пикселей в диапазоне от 0 до 255 могут привести к менее управляемой гистограмме градиентного элемента и, следовательно, к менее оптимальным гиперпараметрам. Однако нормализацию данных можно легко пропустить, потому что визуально данные будут выглядеть одинаково. Еще одна проблема, которая может повлиять на обучение, — это модельный блок, в котором одна сеть обучается хорошо, а другая — нет, даже если они имеют схожие гистограммы элементов градиента. Используя Cockpit, можно просмотреть гистограмму для каждого слоя сети, выявив любые вырождения во всей модели. Это помогает выявлять ошибки модели, которые трудно найти методом проб и ошибок. Наконец, использование Cockpit для настройки гиперпараметров может привести к новым исследованиям и лучшему пониманию методов.

  • 01:10:00 В этом разделе Фрэнк Шнайдер обсуждает оптимизацию для глубокого обучения и взаимосвязь между скоростью обучения, альфа-значениями и точностью тестов. Он объясняет, что, хотя более высокие скорости обучения, как правило, приводят к более высоким значениям альфа-канала, что означает перерегулирование и потенциально слишком большие шаги, наиболее эффективные прогоны обычно находятся в положительной области альфа-канала. Это говорит нам о том, что при обучении нейронной сети не всегда лучше минимизировать на каждом этапе и что для достижения наилучшей производительности необходимо перерегулирование. Шнайдер также приводит примеры из статей Университета Торонто, которые иллюстрируют важность поиска баланса между локальными и глобальными шагами для достижения оптимальных результатов.

  • 01:15:00 В этом разделе Фрэнк Шнайдер признает, что обучение нейронных сетей — сложная задача, для которой не существует четкого протокола. Кроме того, он считает, что стохастичность в глубоком обучении является основным источником этой проблемы, которая приводит к тому, что обучение и оптимизация являются двумя разными вещами. Однако он предполагает, что представление о градиенте как о распределении с учетом стандартного отклонения, дисперсии и достоверности может позволить создать более совершенные инструменты и разработать более эффективные автономные методы в долгосрочной перспективе. Шнайдер призывает заинтересованных студентов помочь в улучшении обучения нейронных сетей.
Numerics of ML 11 --Optimization for Deep Learning -- Frank Schneider
Numerics of ML 11 --Optimization for Deep Learning -- Frank Schneider
  • 2023.02.06
  • www.youtube.com
The eleventh lecture of the Master class on Numerics of Machine Learning at the University of Tübingen in the Winter Term of 2022/23. This class discusses bo...
 

Лекция 12 — Оптимизация второго порядка для глубокого обучения — Лукас Тацель



Numerics of ML 12 — Оптимизация второго порядка для глубокого обучения — Лукас Тацель

В этом видео Лукас Тацель объясняет методы оптимизации второго порядка для глубокого обучения и их потенциальные преимущества. Он сравнивает траектории и скорости сходимости трех методов оптимизации — SGD, Adam и LBFGS — на примере функции Розенберга в 2D. Тацель отмечает, что скачкообразное поведение SGD замедляет сходимость по сравнению с хорошо информированными шагами LBFGS. Он представляет шаг Ньютона как более быстрый метод оптимизации и обсуждает его ограничения, такие как зависимость от числа обусловленности. Тацель также объясняет концепцию обобщенной матрицы Гаусса-Ньютона (GGN) как приближение к матрице Гессе для решения плохо обусловленных задач. Кроме того, он обсуждает проблему области доверия, как работать с невыпуклыми целевыми функциями и подход без гессиана, который использует компьютерную графику для минимизации квадратичных функций.

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

  • 00:00:00 В этом разделе Лукас Тацель представляет методы оптимизации второго порядка как потенциальное решение дорогостоящего и утомительного процесса оптимизации глубокого обучения. Он использует пример функции Розенберга в 2D для сравнения траекторий и скоростей сходимости трех оптимизаторов — SGD, Adam и LBFGS. Он отмечает, что скачкообразное поведение SGD замедляет сходимость по сравнению с хорошо информированными шагами LBFGS, которым требуется менее 10 шагов для достижения допуска 10 ^ -8, что делает его быстрее не только с точки зрения шагов, но и во время выполнения. по сравнению с Адамом и SGD. Тацель поднимает вопрос о том, можно ли применить эти методы к глубокому обучению, и исследует, как они работают и каков их потенциал.

  • 00:05:00 В этом разделе Лукас Тацель объясняет основы оптимизации глубокого обучения, которые включают прогнозирование вектора размерности C и сравнение его с фактической меткой для вычисления функции потерь. Цель глубокого обучения — найти такую конфигурацию вектора параметров сети Theta, которая минимизирует эмпирический риск. Численные методы, используемые для этого, включают стохастический градиентный спуск (SGD), который вычисляет оценку градиента на конечных данных с использованием метода Монте-Карло. Однако методы на основе градиента чувствительны к числу условий, которое представляет собой отношение максимальной и минимальной направленной кривизны.

  • 00:10:00 В этом разделе Лукас Тацель обсуждает, как методы на основе градиента чувствительны к проблемам плохого состояния в глубоком обучении. Он объясняет, что число обусловленности может быть проблемой для методов на основе градиента, если оно велико, что может привести к медленным преобразованиям. Чтобы улучшить обновления в методах на основе градиента, Татцель предлагает масштабировать градиент как в направлении большой, так и в малой кривизне с соответствующими обратными кривизнами. Делая это, можно ввести методы второго порядка, чтобы уменьшить или устранить зависимость от номера условия.

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

  • 00:20:00 В этом разделе Лукас Тацель обсуждает методы оптимизации второго порядка для глубокого обучения и причины, по которым они не используются повсеместно. Методы второго порядка могут быть быстрее, чем методы на основе градиента, но они требуют доступа к матрице Гессе, которую сложно вычислить и сохранить для больших невыпуклых задач. Кроме того, обработка стохастичности при вычислении гессиана может повлиять на производительность этих методов. Далее Тацель объясняет, как можно решить эти проблемы, и дает обзор концепций, лежащих в основе различных методов.

  • 00:25:00 В этом разделе Лукас Тацель объясняет оптимизацию второго порядка для глубокого обучения и ограничения метода обновления Ньютона. Он демонстрирует вычисление производной второго порядка функции по тау, которая является квадратичной функцией с постоянной кривизной лямбда. Кривизна вдоль собственного вектора является собственным значением, и если кривизна отрицательна, квадратичная функция не ограничена снизу, что делает метод обновления Ньютона бессмысленным. Чтобы решить эту проблему, Тацель вводит обобщенную матрицу Гаусса-Ньютона (GGN), которая представляет собой положительное полуопределенное приближение к матрице Гессе и может служить ее заменой. Он выводит GGN из функции потерь, применяя правило изменения к расщеплению между вектором параметров и результатами модели.

  • 00:30:00 В этом разделе Лукас Тацель обсуждает концепцию оптимизации второго порядка для моделей глубокого обучения. Он объясняет правило произведения и то, как оно работает, а также как вычислить производную матрицы при применении цепного правила. Затем Тацель говорит о GGN, положительно определенной матрице, в которой не учитывается кривизна модели, и гессиане, который содержит вторые производные модели по отношению к тета. Он сравнивает GGN и гессиан и показывает, что GGN является положительно определенным и симметричным, что делает его полезным инструментом для оптимизации в моделях глубокого обучения.

  • 00:35:00 В этом разделе Лукас Татцель обсуждает гессиан и то, как он определяет, является ли алгоритм GGN (обобщенный Гаусса-Ньютона) положительно-полуопределенным. Для всех соответствующих функций потерь гессиан является положительно полуопределенным. В тех случаях, когда функция потерь такова, что потери вычисляются как квадрат нормы между выходными данными модели и истинной меткой, гессиан представляет собой скаляр, умноженный на единичную матрицу, что делает ее положительно определенной. Лукас также обсуждает информационную матрицу Фишера, которую можно использовать для определения четко определенного шага GGN. В этом случае алгоритм GGN представляет собой метод наискорейшего спуска в пространстве распределения, где пространство параметров измеряется расстоянием между двумя распределениями.

  • 00:40:00 В этом разделе Лукас Тацель объясняет проблему области доверия в оптимизации второго порядка для глубокого обучения. В выпуклом случае все еще существует проблема с произвольно плохими квадратичными моделями, что приводит к необходимости демпфирования и ограничения обновления итерации, чтобы оно находилось в пределах некоторого радиуса доверия. Добавляя идентичность дельта-времен в матрицу кривизны, создается модифицированный шаг Ньютона, а с помощью демпфирования можно контролировать, насколько консервативны обновления. При выборе радиуса проще работать с демпфированием напрямую, используя эвристику L-BFGS, основанную на коэффициенте уменьшения ожидаемого и фактического снижения потерь.

  • 00:45:00 В этом разделе видео Лукас Татцель обсуждает, как работать с невыпуклыми целевыми функциями в глубоком обучении путем вычисления положительных полуопределенных матриц кривизны, таких как ggn и fissure. Можно интерпретировать эти матрицы и предоставить их несмещенные оценки на конечных данных. Эвристики демпфирования, такие как возвращение назад, могут использоваться для контроля того, насколько консервативными должны быть обновления. Однако обращение этих огромных матриц кривизны представляет собой проблему из-за ограничений памяти. Для решения этой проблемы можно позаимствовать идеи из числовой алгебры, такие как аппроксимации низкого ранга, итерационные методы и структурированные аппроксимации. Затем Татцель обсуждает основную идею BFGS, которая постепенно изучает приближение к обратному гессиану из наблюдений за градиентом с целью вывести из наблюдений за градиентом, как будет выглядеть обратный гессиан.

  • 00:50:00 В этом разделе Лукас Тацель объясняет идею использования оптимизации второго порядка для глубокого обучения. Вторая производная получается путем разностной аппроксимации градиента, а затем она переносится на многомерный случай с использованием уравнения секущей. Цель состоит в том, чтобы аппроксимировать обратный гессиан, поэтому берутся свойства фактического обратного гессиана и требуются, чтобы аппроксимация имела те же свойства. Обновление включает только предыдущее приближение и векторы SK и yk. Аппроксимация сохраняется с использованием фиксированного окна некоторого фиксированного размера l, и при этом можно получить хорошую оценку кривизны.

  • 00:55:00 В этом разделе Лукас Тацель представляет методы оптимизации второго порядка для глубокого обучения, уделяя особое внимание подходу без гессиана. Этот подход использует компьютерную графику для минимизации квадратичных функций и требует только произведений матрицы на вектор, что позволяет проводить эффективные вычисления без явного сохранения матрицы кривизны. GGn используется в качестве метрики кривизны, и с помощью оценки Монте-Карло матрицы можно вычислить для заданной пары вход-выход. Чтобы эффективно умножить якобиан на вектор, основная идея состоит в том, чтобы заменить произведение якобиана на вектор производной по направлению. Это позволяет эффективно вычислять продукт без явного построения матриц.

  • 01:00:00 В этом разделе спикер обсуждает оптимизацию второго порядка для глубокого обучения, в частности оптимизацию без гессиана и методы KFC. Оптимизация без гессиана включает линеаризацию модели путем аппроксимации F в тета плюс дельта тета на F тета плюс якобиан, умноженный на дельта тета, и с использованием продукта вектора Якоби. Однако этот подход численно нестабилен, поэтому вместо него используется аппроксимация векторного произведения Якоби. С другой стороны, KFC представляет собой приблизительную кривизну, основанную на официальных информационных метриках, которые включают два приближения: блочно-диагональное приближение и операции обмена ожиданиями и хроническими продуктами. Блочно-диагональная структура делает инвертирование матрицы тривиальным, а приближение к математическому ожиданию разумно, потому что трудно вычислить хронические произведения по двум векторам.

  • 01:05:00 В этом разделе Лукас Татцель обсуждает три подхода к доступу к матрице кривизны и ее обращению, которые используются в оптимизации второго порядка для глубокого обучения. Первый метод — это BFGS и LBFGS, которые используют динамическое понижающее приближение гессиана и являются выбором по умолчанию для небольших детерминированных задач. Второй метод — оптимизатор без гессиана, который похож на шаги Ньютона, но требует меньше памяти и более последовательной работы. Однако у него возникают проблемы с большими размерами мини-пакетов, в которых используются слои пакетной нормы. Последний метод — это KFC, который представляет собой облегченное представление информационной метрики Гессе и широко используется для количественной оценки неопределенности. Оптимизатор K-Fik рекомендуется при работе с ограниченной памятью, так как хранить и инвертировать меньшие компоненты блока проще и быстрее, чем делать то же самое со всей матрицей.

  • 01:10:00 В этом разделе Лукас Татцель обсуждает проблему стохастичности при вычислении шага Ньютона, который включает инвертирование гессиана и применение его к градиенту. Из-за наличия только оценок гессиана и градиента, даже если они несмещены, шаг Ньютона все равно будет смещен. Тацель приводит интуитивно понятный пример в 1D, где математическое ожидание по 1/H не совпадает с 1/H, показывая, что даже при оценке кривизны все еще существует некоторая неопределенность при отображении ее с помощью инвертирующей функции. Это выдвигает на первый план проблему борьбы со стохастичностью в оптимизации второго порядка для глубокого обучения.

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

  • 01:20:00 В этом разделе Лукас Тацель обсуждает проблемы использования демпфирования в качестве процесса оптимизации внешнего цикла, который одинаково обрабатывает все направления и может не подходить для решения сложности тренировочного процесса. Он предлагает использовать специализированные алгоритмы, которые могут использовать более богатые величины, такие как распределения, для обновления, и отмечает, что фундаментальная проблема стохастичности остается нерешенной. В целом Татцель предполагает, что методы оптимизации второго порядка, такие как BFGS, LBFJS, бесплатный оптимизатор Heston и KFC, предлагают частичное решение проблем глубокого обучения, включая проблему обусловленности Хилла.
Numerics of ML 12 -- Second-Order Optimization for Deep Learning -- Lukas Tatzel
Numerics of ML 12 -- Second-Order Optimization for Deep Learning -- Lukas Tatzel
  • 2023.02.06
  • www.youtube.com
The twelfth lecture of the Master class on Numerics of Machine Learning at the University of Tübingen in the Winter Term of 2022/23. This class discusses bot...
 

Лекция 13 — Неопределенность в глубоком обучении — Агустинус Кристиади



Numerics of ML 13 -- Неопределенность в глубоком обучении -- Агустинус Кристиади

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

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

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

  • 00:05:00 В этом разделе Агустинус Кристиади обсуждает неопределенность в глубоком обучении, особенно в сетях классификации, которые используют нелинейности ReLU. Он представляет фундаментальное свойство реальных классификаторов: если логит-слой представляет собой линейную комбинацию предыдущих слоев с нелинейностями ReLU, выход сети по-прежнему является кусочно-линейной функцией, определяемой комбинацией предыдущих слоев. Отход от обучающих данных в этом пространстве приводит к области, где классификатор имеет линейный вход к выходу softmax, и с вероятностью один усиление для каждой функции линейного вывода отличается. В результате перемещение достаточно далеко в этих областях приведет к сколь угодно высокой достоверности для одного класса, что можно визуально наблюдать на графике трех линейных выходных признаков, выделенных красным цветом.

  • 00:10:00 В этом разделе Агустинус Кристиади объясняет фундаментальное свойство реальных классификаторов, которое создает высокую достоверность в определенных классах, и почему это нельзя исправить, просто переобучив веса. Решение состоит в том, чтобы добавить неопределенность к весам нейронной сети, и для этого нам нужна байесовская интерпретация нейронной сети, которая может быть достигнута за счет максимизации экспоненциальной функции, минимизируемой во время обучения. Это означает, что глубокое обучение уже делает байесовский вывод, но вычисляется только мода апостериорного, что может быть проблематично. Распространенной настройкой для контролируемых задач с непрерывными выходными данными является квадратичный регуляризатор потери и уменьшения веса, что эквивалентно присвоению гауссовского априорного веса и гауссовского правдоподобия для данных.

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

  • 00:20:00 В этом разделе спикер объясняет, как можно применить распределение Гаусса к весам последнего слоя в слое классификации глубокой нейронной сети, чтобы решить проблему неопределенности в классификации. Спикер предполагает, что можно использовать любую ковариацию гауссовского распределения, потому что это не имеет значения, а среднее значение распределения задается обученными весами глубокой нейронной сети. Затем спикер использует гауссово распределение, чтобы решить задачу из предыдущего слайда, аппроксимируя интеграл мягкого Макса по F тета на звезде X. Аппроксимация Дэвида Макаи используется для вычисления мягкого максимума по производной переменной, которая имеет среднее предсказание выходных данных, которые в противном случае имела бы сеть. Синие линии на визуализации, изображающей это приближение, отделены от единицы, что обеспечивает решение проблемы неопределенности в классификации.

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

  • 00:30:00 В этом разделе Агустинус Кристиади объясняет, как мы можем использовать матрицу Гессе для формирования гауссовой аппроксимации после нахождения режима функции потерь с помощью глубокого обучения. Матрица Гессе, содержащая производную второго порядка функции потерь, используется для построения аппроксимаций. Хотя приближение Гаусса является локальным и не совершенным, оно полностью аналитическое, что делает его подходящим приближением. Чтобы использовать это приближение, нам нужна обученная нейронная сеть, и как только сеть обучена, мы можем получить гессиан в этой точке, используя AutoDiff, который представляет собой процесс закрытой формы, который просто работает.

  • 00:35:00 В этом разделе спикер обсуждает концепцию неопределенности в глубоком обучении и способы ее оценки с помощью матрицы Гессе. Матрица Гессе может быть вычислена после обучения глубокой нейронной сети и обеспечивает способ оценки неопределенности без увеличения стоимости торговли в сети. Докладчик также отмечает, что такой подход позволяет сохранить точечную оценку, что может быть полезно для практических приложений. Однако есть и недостатки, такие как дороговизна вычисления гессиана, и необходимы приближения, чтобы сделать его управляемым. Обобщенная матрица Гаусса-Ньютона является одним из таких приближений, которое можно использовать на практике.

  • 00:40:00 В этом разделе Агустинус Кристиади обсуждает неопределенность в глубоком обучении и то, как можно использовать гессиан Гаусса-Ньютона (GNG) для оценки кривизны нейронной сети. Он объясняет, что ОНГ является положительно полуопределенным и имеет хорошую связь с линеаризацией, что может привести к управляемой модели в сочетании с приближением Лапласа. Эта модель может использоваться для регрессии и создает гауссовский процесс со средней функцией, заданной выходными данными нейронной сети.

  • 00:45:00 В этом разделе спикер обсуждает неопределенность в глубоком обучении, особенно в нейронных сетях. Они отмечают, что основная функция дисперсии задается путем нахождения режима функции потерь в якобиане сети, взяв скалярное произведение с обратным значением гессиана. Докладчик упоминает, что этот процесс можно использовать для классификации в виде простой аппроксимации, разработанной Дэвидом Пинкаем. Процесс включает определение функции потерь, вычисление гессиана функции потерь и якобиана обученной сети по отношению к весам. Наконец, объединение двух в произведение дает прогнозирующую функцию для f звезды x, которая по-прежнему нелинейна по x, но линейна в пространстве весов. Оратор подчеркивает, что этот процесс может помочь избежать чрезмерной уверенности, особенно в случаях классификации.

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

  • 00:55:00 В этом разделе спикер обсуждает, как использовать аппроксимации Лапласа для выбора моделей и параметров нейронной сети. Докладчик объясняет, что гессиан зависит от формы функции потерь и что по мере добавления дополнительных слоев функция потерь может стать уже, что приведет к лучшему соответствию. Докладчик показывает график, который демонстрирует, что от двух до четырех слоев, вероятно, лучший выбор. Спикер также обсуждает, что фактор Оккама не так прост, как для гауссовских процессов, поскольку гессиан оказывает нетривиальное влияние на то, насколько хорошо модель может объяснить данные. Затем докладчик демонстрирует визуализацию глубокой нейронной сети с приближением линеаризации по Лапласу для задачи классификации и объясняет, как можно использовать параметр априорной точности, чтобы повлиять на достоверность модели. Наконец, спикер обсуждает, как приближения Лапласа можно использовать для выбора дискретных вариантов, таких как количество слоев или параметр, такой как предыдущее положение, с использованием градиентного спуска.

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

  • 01:05:00 В этом разделе Агустинус Кристиади обсуждает проблему добавления неограниченного количества весов для учета бесконечной сложности данных в глубоких нейронных сетях. Он объясняет, что добавление бесконечного числа функций решит проблему, и показывает, что отслеживание бесконечного количества функций не должно быть дорогостоящей задачей. Асимптотически неопределенность становится максимальной энтропией Thing 1 над C, не усложняя модель.

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

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

  • 01:20:00 В этом разделе спикер обсуждает концепцию добавления неопределенности в классификатор без изменения его фундаментальной структуры. Линеаризация сети в весовом пространстве может позволить этому случиться, и, вычислив якобиан и гессиан функции потерь, мы можем превратить глубокую нейронную сеть в гауссовский процесс. С помощью этого метода можно добавить в сеть функциональные возможности, такие как асимптотическая калиброванная достоверность. Докладчик подчеркивает важность вероятностного обучения и использования вероятностных мер в машинном обучении без необходимости полного апостериорного отслеживания. Этот подход может решить такие проблемы, как чрезмерная уверенность, избегая при этом затрат на поиск идеального апостериорного анализа. Наконец, спикер предполагает, что использование этих методов будет дополнительно изучено в следующем курсе по вероятностному машинному обучению.
Numerics of ML 13 -- Uncertainty in Deep Learning -- Agustinus Kristiadi
Numerics of ML 13 -- Uncertainty in Deep Learning -- Agustinus Kristiadi
  • 2023.02.06
  • www.youtube.com
The thirteenth lecture of the Master class on Numerics of Machine Learning at the University of Tübingen in the Winter Term of 2022/23. This class discusses ...
 

Лекция 14 -- Заключение -- Филипп Хенниг



Numerics of ML 14 -- Заключение -- Филипп Хенниг

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

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

  • 00:00:00 В этом разделе Филипп Хенниг представляет краткое изложение всего курса «Численные основы машинного обучения», который, по его мнению, имеет решающее значение из-за различий в содержании от разных лекторов. Он объясняет, что машинное обучение, по сути, включает в себя решение математических задач, не имеющих решений в закрытой форме, в отличие от классического ИИ, который использует алгоритмы. Проблемы машинного обучения связаны с численным анализом и включают в себя интеграцию, оптимизацию, дифференциальные уравнения и линейную алгебру. Хенниг подчеркивает важность понимания сложности выполнения линейной алгебры над набором данных и ее отношения к процессору и диску.

  • 00:05:00 В этом разделе Филипп Хенниг обсуждает роль линейной алгебры в машинном обучении и, в частности, в регрессии гауссовых процессов. Он объясняет, что для изучения прогностического распределения, которое имеет среднее значение и ковариацию, нам нужно решить линейную систему уравнений, включающую инвертирование матрицы, умноженной на вектор. Существует множество алгоритмов решения таких линейных систем, в том числе классический алгоритм, называемый разложением Холецкого, который можно рассматривать как итеративную процедуру построения обратной матрицы. Хенниг отмечает, что это приближение можно использовать в качестве оценки обратной матрицы, но его качество может варьироваться в зависимости от порядка данных.

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

  • 00:15:00 В этом разделе видео Филипп Хенниг объясняет сложность решения линейных задач в байесовском влиянии регрессии гауссовского процесса. Уровень расходов в базовом случае намного тоньше, чем то, что могло бы быть известно большинству людей. Четыре основных вывода из этого заключаются в том, что вы можете не смотреть на весь набор данных, вы можете использовать алгоритм Холецкого, который дает оценку стоимости линейно по набору данных и квадратично по количеству итераций, вы можете использовать более эффективный алгоритм, который быстро сходится, но требует квадратичных затрат на каждой итерации, или вы можете выбрать алгоритм Холецкого, который приводит к кубическим затратам по количеству точек данных.

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

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

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

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

  • 00:40:00 В этом разделе Филипп Хенниг подводит итоги серии «Числовые данные машинного обучения», в которой рассматриваются дифференциальные уравнения и интеграция в машинном обучении. Сначала он говорит о выводе гауссовского процесса с функциями, которые могут быть сложными из-за природы функциональных пространств. Однако, наблюдая нелинейные функции и применяя различные источники информации, такие как дифференциальные уравнения в частных производных и граничные значения, их можно объединить в большую схему логического вывода гауссовского процесса, что приведет к количественному представлению динамической системы. Затем Хенниг переходит к интегрированию в вероятностном выводе, где он вводит алгоритм Монте-Карло, который представляет собой беспристрастную оценку, которая медленно сходится, но работает с любой интегрируемой функцией.

  • 00:45:00 В этом разделе Филипп Хенниг обсуждает лучшие подходы к оценке интегралов для машинного обучения. Он предполагает, что скорость, с которой оценка интеграла сходится к истинному значению интеграла, равна 1 относительно квадратного корня из числа выборок, что зависит от используемого алгоритма. Однако байесовская квадратура, алгоритм, который тратит много времени на моделирование подынтегральной функции, может работать очень хорошо, особенно в задачах низкой размерности, и может сходиться намного быстрее, чем Монте-Карло, даже сверхполиномиально быстро. Хенниг предполагает, что алгоритмы построения, которые хорошо работают только для небольшого класса задач, могут работать лучше для каждого экземпляра этой проблемы, но могут плохо работать за пределами этого класса. В конечном счете, лучший алгоритм будет зависеть от характера решаемой проблемы.

  • 00:50:00 В этом разделе Филипп Хенниг исследует проблемы современных числовых задач машинного обучения, в частности проблему обучения глубоких нейронных сетей. Хотя доступно множество оптимизаторов, они в корне разочаровывают и неэффективны, требуют постоянного присмотра и настройки гиперпараметров и не всегда работают. Если раньше оптимизация заключалась в нажатии кнопки и наблюдении за идеальной работой алгоритма, то теперь для машинного обучения требуется команда из более чем 100 человек для управления большими языковыми моделями, что делает его неэффективным использованием ресурсов. Главной проблемой является стохастичность, и пока не существует известного элегантного решения этой проблемы, даже несмотря на то, что она движет всем сообществом машинного обучения.

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

  • 01:00:00 В этом разделе Филипп Хенниг обсуждает необходимость делать больше, чем просто обучать двойные сети машинному обучению, а также важность знания того, что модель знает и чего она не знает. Хенниг объясняет, что оценка кривизны функции потерь может помочь построить оценки неопределенности для глубоких нейронных сетей простыми способами, используя приближение Лапласа. Это может использоваться для различных вариантов использования и может сочетаться с линеаризацией весового пространства сети, чтобы превратить любую глубокую нейронную сеть приблизительно в алгоритм параметрической гауссовой регрессии гауссовского процесса. Хенниг подчеркивает, что, хотя вероятностность важна, нет необходимости применять теорему Байеса в каждом случае, так как это может потребовать слишком больших вычислительных ресурсов. Вместо этого поиск быстрых решений, которые добавляют ценность, не требуя слишком больших вычислительных ресурсов, является лучшим подходом.

  • 01:05:00 В этом разделе Филипп Хенниг подчеркивает важность численных расчетов в машинном обучении. Он объясняет, что числовые вычисления — это активные агенты, которые взаимодействуют с источником данных и должны активно решать, как использовать полученные данные. При серьезном отношении к этой связи можно разработать новые, ориентированные на данные способы выполнения вычислений, которые могут быть более гибкими, простыми в использовании и более простыми для обобщения в различных условиях. Хенниг также подчеркивает важность понимания того, как работают численные алгоритмы, чтобы стать лучшим инженером по машинному обучению. Наконец, он предлагает оставить отзыв о курсе и обсуждает предстоящий экзамен.
Numerics of ML 14 -- Conclusion -- Philipp Hennig
Numerics of ML 14 -- Conclusion -- Philipp Hennig
  • 2023.02.13
  • www.youtube.com
The fourteenth and final lecture of the Master class on Numerics of Machine Learning at the University of Tübingen in the Winter Term of 2022/23. This class ...
 

Метод опорных векторов (SVM) за 7 минут - Fun Machine Learning



Метод опорных векторов (SVM) за 7 минут - Fun Machine Learning

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

  • 00:00:00 В этом разделе мы узнаем о машинах опорных векторов (SVM) и о том, как их можно использовать для классификации наборов данных с двумя классами. Алгоритм SVM рассматривает крайние точки наборов данных и рисует границу решения или гиперплоскость рядом с крайними точками в наборе данных. По сути, алгоритм машины опорных векторов — это граница, которая лучше всего разделяет два класса. Затем мы узнаем о нелинейно разделяемых наборах данных и о том, как SVM могут преобразовать их в многомерные пространства признаков с помощью трюка с ядром. Популярные типы ядер включают полиномиальное ядро, ядро радиальной базисной функции (RBF) и сигмовидное ядро. Однако выбор правильного ядра является нетривиальной задачей и может зависеть от конкретной задачи.

  • 00:05:00 В этом разделе обсуждаются преимущества и недостатки машин опорных векторов (SVM). SVM эффективен в многомерных пространствах и использует подмножество обучающих точек в функции принятия решений, что делает его эффективным с точки зрения памяти. Для функции принятия решения могут быть указаны различные ядра, в том числе пользовательские ядра, и SVM может использоваться в различных приложениях, таких как медицинская визуализация, финансовая отрасль и распознавание образов. Однако к недостаткам SVM можно отнести низкую производительность, если количество признаков больше, чем количество выборок, и отсутствие прямых оценок вероятности, требующих дорогостоящей перекрестной проверки.
 

Революция глубокого обучения — Джеффри Хинтон



«Революция глубокого обучения» — Джеффри Хинтон — Лекция президента RSE, 2019 г.

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

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

  • 00:00:00 Если вы знакомы с глубоким обучением, вы многим обязаны профессору Джеффри Хинтону, известному как «Крестный отец глубокого обучения», который получил докторскую степень в области искусственного интеллекта в Эдинбурге в 1978 году и получил множество призов за свои вклад в машинное обучение. В первой части своей лекции он обсуждает историю глубокого обучения и нейронных сетей, а также то, как они развивались на протяжении многих лет. Он также рассказывает о проблемах и захватывающих возможностях использования глубокого обучения для создания машин, которые могут учиться так же, как человеческий мозг.

  • 00:05:00 В этом разделе Джеффри Хинтон рассказывает о двух парадигмах искусственного интеллекта, существовавших с начала 1950-х годов. Одним из них был подход, вдохновленный логикой, который рассматривал интеллект как манипулирование символическими выражениями с использованием символических правил. Другой подход, с другой стороны, считал, что суть интеллекта заключается в изучении сильных связей в нейронной сети. Этот подход больше фокусировался на обучении и восприятии, по сравнению с другим подходом, сосредоточенным на рассуждениях. Эти разные подходы привели к разным представлениям о внутренних представлениях и соответствующим способам заставить компьютер делать то, что вы хотите. Хинтон сравнивает метод интеллектуального проектирования со стратегией обучения или обучения, которая включает показ компьютеру множества примеров.

  • 00:10:00 В этом разделе видео Джеффри Хинтон объясняет, как произошла революция глубокого обучения, которая началась с обучения нейронных сетей изучению сложных функций через множество слоев. Используются идеализированные нейроны, моделирующие линейные и нелинейные функции. Между тем, в обучающих сетях есть разные методы, включая обучение с учителем и без учителя, причем алгоритм обратного распространения является наиболее эффективным алгоритмом последнего. Наконец, он указывает, как глубокое обучение включает в себя возмущение сети для измерения эффекта, а затем изменение сети при необходимости, что намного эффективнее, чем эволюционный подход возмущения перед лицом неизвестных переменных.

  • 00:15:00 В этом разделе лекции д-р Хинтон обсуждает метод оптимизации обратного распространения, который вычисляет градиент весов на основе расхождения между фактическим ответом и правильным ответом для небольшой партии обучающих примеров. Он объясняет процесс обновления весов на основе градиента и использование стохастического градиентного спуска для оптимизации процесса. Затем доктор Хинтон продолжает обсуждение приемов и методов, которые сделали обратное распространение более эффективным, в том числе использование импульса и меньших скоростей обучения для больших градиентов, в конечном итоге делая вывод, что использование этих приемов ничуть не хуже, несмотря на сотни опубликованных журнальных статей. по более изощренным методам. Наконец, он отмечает, что в 1990-х годах отсутствие надлежащих методов инициализации нейронных сетей и наборов данных меньшего размера привело к временному отказу от нейронных сетей в сообществе машинного обучения.

  • 00:20:00 В этом разделе Джеффри Хинтон, ведущая фигура в области глубокого обучения, обсуждает историю исследований глубокого обучения и проблемы, с которыми сталкиваются исследователи в этой области. Он описывает, как на заре обратного распространения многие статьи были отклонены или подвергнуты критике, потому что они были сосредоточены на неконтролируемом обучении, что не соответствовало преобладающей парадигме компьютерного зрения. Однако Хинтон утверждает, что неконтролируемое обучение в сочетании с такими методами, как отсев, было ключевым фактором в обеспечении работы обратного распространения для глубоких сетей и с тех пор помогло произвести революцию в области глубокого обучения.

  • 00:25:00 В этом разделе Хинтон объясняет успех нейронных сетей в распознавании речи и компьютерном зрении. Первое крупное применение глубокого обучения было в распознавании речи, в котором внешний интерфейс выполняет акустическое моделирование, беря средний кадр спектрограммы и определяя, какую фонему пытается выразить человек. Первым коммерчески значимым крупномасштабным применением глубокого обучения было распознавание речи, где передняя часть нейронной сети превзошла хорошо настроенные методы от IBM и других компаний. Еще одним важным событием стало соревнование ImageNet в 2012 году, где глубокая нейронная сеть показала значительно более низкий уровень ошибок, чем традиционные методы компьютерного зрения.

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

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

  • 00:40:00 В этом разделе лекции Хинтон обсуждает эксперимент под названием «GPT-2», который может генерировать текст, который кажется написанным человеком. Модель GPT-2, содержащая полтора миллиарда параметров, была обучена на миллиардах слов текста и может создавать связные и понятные истории. Хинтон предполагает, что этот тип рассуждений не является надлежащим логическим рассуждением, а скорее интуитивным рассуждением. Он также указывает, что трудно узнать, насколько модель действительно понимает, и задается вопросом, выполняет ли модель просто огромное количество ассоциаций или понимает немного больше.

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

  • 00:50:00 В этом разделе Хинтон использует задачу, чтобы проиллюстрировать зависимость пространственного понимания от системы координат. Он представляет каркасный куб и просит зрителя указать, где находятся углы, не используя координатную рамку, показывая, что люди склонны думать о кубах относительно своей системы координат. Затем Хинтон обсуждает свою теорию «капсул», которая группирует нейроны, которые учатся представлять фрагменты форм, и накладывает систему координат на каждый фрагмент, чтобы зафиксировать внутреннюю геометрию. Он планирует обучать эти капсулы без присмотра, чтобы фиксировать знания формы.

  • 00:55:00 В этом разделе Хинтон обсуждает включение знаний в модель, которая предсказывает части из целого. Модель обучается преобразователем, который просматривает уже извлеченные части, берет эти части и пытается предсказать, какие целые объяснят эти части. Преобразователь хорошо находит корреляции между вещами и может предсказать, какие объекты могут быть там и каковы их позы. Хинтон приводит пример, когда модели рассказывают о квадратах и треугольниках, и она позже может распознавать их на новых изображениях. Модель также можно научить распознавать номера домов, даже не показывая этикетки.

  • 01:00:00 В этом разделе мы узнаем о потенциале обучения без учителя и о различных типах нейронов, которые могут работать лучше, чем скалярная нелинейность, используемая в настоящее время. Спикер призывает студентов не верить всему, что они слышат, и призывает перенаправить полученные за 50 лет знания на выяснение того, как получить правильный субстрат для конкретной обработки. В разделе «Вопросы и ответы» обсуждается возможность полагаться исключительно на самые быстрые системы для обеспечения интеллекта и когерентности памяти трансформатора.

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

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

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

  • 01:20:00 В этом разделе видео спикер обсуждает, как наша текущая технология искусственного интеллекта может быть не такой умной, как мы думаем, и что основное внимание следует уделить решению этой проблемы. Они также касаются проекта «Человеческий мозг», который финансировался за счет европейского финансирования, и задаются вопросом, поможет ли он развитию ИИ или помешает ему. Спикер также хвалит лектора за способность объяснять сложные концепции таким образом, чтобы его было легко понять неспециалистам, а также за содействие увеличению финансирования и поддержки молодых исследователей в области ИИ.
'The Deep Learning Revolution' - Geoffrey Hinton - RSE President's Lecture 2019
'The Deep Learning Revolution' - Geoffrey Hinton - RSE President's Lecture 2019
  • 2019.07.26
  • www.youtube.com
"There have been two very different paradigms for Artificial Intelligence: the logic-inspired paradigm focused on reasoning and language, and assumed that th...
 

Как на самом деле работает ChatGPT



Как на самом деле работает ChatGPT

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

  • 00:00:00 ChatGPT — это чат-бот, предназначенный для устранения проблем с несовпадением модели. Он использует обучение с подкреплением на основе отзывов людей для точной настройки предварительно обученной модели.

  • 00:05:00 ChatGPT — это модель машинного обучения, способная правильно идентифицировать вредоносный контент в чатах. Его архитектура основана на человеческом вкладе, и описаны его недостатки. Подробнее о нем можно узнать из рекомендуемой литературы.
How ChatGPT actually works
How ChatGPT actually works
  • 2023.01.23
  • www.youtube.com
Since its release, the public has been playing with ChatGPT and seeing what it can do, but how does ChatGPT actually work? While the details of its inner wor...
 

Машинное обучение с нуля Полный курс



Машинное обучение с нуля Полный курс

Самостоятельное внедрение моделей машинного обучения — один из лучших способов освоить их. Несмотря на то, что задача кажется сложной, для большинства алгоритмов она зачастую оказывается проще, чем вы можете себе представить. В течение следующих 10 дней мы будем использовать Python и время от времени Numpy для конкретных расчетов, чтобы каждый день реализовывать один алгоритм машинного обучения.

Вы можете найти код в нашем репозитории GitHub: https://github.com/AssemblyAI-Examples/Machine-Learning-From-Scratch.

Machine Learning From Scratch Full course
Machine Learning From Scratch Full course
  • 2022.09.12
  • www.youtube.com
To master machine learning models, one of the best things you can do is to implement them yourself. Although it might seem like a difficult task, for most al...
 

Как реализовать KNN с нуля с помощью Python



Как реализовать KNN с нуля с помощью Python

В видео под названием «Как реализовать KNN с нуля с помощью Python» спикер объясняет, как создать классификатор KNN с нуля с помощью Python. Они охватывают шаги, связанные с реализацией алгоритма, такие как вычисление расстояния между новой точкой данных и другими точками в наборе данных, выбор k ближайших точек и определение метки для классификации или среднего значения для регрессии. Докладчик реализует алгоритм с помощью класса на Python и демонстрирует его успешную реализацию на наборе данных радужной оболочки глаза с точностью 96%. Они также приглашают зрителей проверить код в их репозитории Github и задать вопросы в разделе комментариев.

  • 00:00:00 В этом разделе мы узнаем об алгоритме k ближайших соседей (k-NN), о том, как он работает, и о шагах, необходимых для реализации алгоритма в Python. k-NN — это алгоритм на основе расстояния, в котором ближайшие k точек данных выбираются на основе их расстояния до новой точки данных. Это значение k определяется пользователем и может использоваться как для задач регрессии, так и для задач классификации. Алгоритм начинается с вычисления расстояния между новой точкой данных и другими точками данных в наборе данных. Затем выбираются k ближайших точек и для регрессии берется среднее их значений, либо для классификации определяется метка с большинством голосов. Мы также увидим, как реализовать алгоритм, используя класс на Python с функцией подгонки и прогнозирования, а также вспомогательную функцию для вычисления расстояния между двумя точками.

  • 00:05:00 В этом разделе спикер объясняет, как создать классификатор KNN с нуля с помощью Python. Начав с метода дуговой сортировки для сортировки массива расстояний, они переходят к выбору k ближайших соседей, получению наиболее распространенной метки класса и возврату наиболее распространенной метки. Затем они применяют этот классификатор к набору данных радужной оболочки для классификации типов цветов и достигают уровня точности 96%, демонстрируя успешную реализацию KNN. Спикер предлагает зрителям проверить код, доступный в их репозитории Github, и задать вопросы в разделе комментариев.
How to implement KNN from scratch with Python
How to implement KNN from scratch with Python
  • 2022.09.11
  • www.youtube.com
In the first lesson of the Machine Learning from Scratch course, we will learn how to implement the K-Nearest Neighbours algorithm. Being one of the simpler ...
 

Как реализовать линейную регрессию с нуля с помощью Python



Как реализовать линейную регрессию с нуля с помощью Python

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

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

  • 00:05:00 В этом разделе спикер реализует линейную регрессию с нуля с помощью Python. Динамик инициализирует скорость обучения, устанавливает значение по умолчанию для количества итераций и определяет веса и смещения как нулевые. Затем спикер продолжает предсказывать результат, беря скалярное произведение x с весами и добавляя смещение. Чтобы вычислить производные, спикер использует простое уравнение, а затем обновляет веса и смещения, вычисляя градиенты. Наконец, спикер суммирует различия между прогнозами и фактическими значениями, и процесс повторяется несколько итераций до сходимости.

  • 00:10:00 В этом разделе спикер обсуждает, как обучать модель линейной регрессии и делать прогнозы, используя заданный класс. Обновление весов и смещений производится путем вычитания скорости обучения, умноженной на производные весов и смещений соответственно. Для выполнения нескольких итераций запуска алгоритма добавляется цикл for для запуска алгоритма над набором данных. Наконец, выступающий показывает, как проверить эффективность алгоритма линейной регрессии, используя функцию набора данных scikit-learn, подбирая линию, которая дает хорошую производительность, и вычисляя среднеквадратичную ошибку для прогнозов. Ошибка измерения возникает из-за неправильного расчета скалярного произведения, что устраняется путем транспонирования x.

  • 00:15:00 В этом разделе ведущий исправляет опечатку в коде и использует ее для создания модели линейной регрессии, которая предсказывает значения y на основе значений x из заданного набора данных. Затем они визуализируют линию предсказания и замечают, что, хотя она хорошо подходит, ее можно улучшить. Ведущий решает настроить скорость обучения и повторно запускает модель, чтобы получить лучшее соответствие. Они делятся кодом на GitHub и приглашают зрителей задавать вопросы, если это необходимо.
How to implement Linear Regression from scratch with Python
How to implement Linear Regression from scratch with Python
  • 2022.09.13
  • www.youtube.com
In the second lesson of the Machine Learning from Scratch course, we will learn how to implement the Linear Regression algorithm.You can find the code here: ...
Причина обращения: