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

 

Лекция 22. Градиентный спуск: спуск к минимуму



22. Градиентный спуск: спуск к минимуму

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

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

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

  • 00:10:00 В этом разделе вводится понятие гессиана как инструмента измерения выпуклости функции. Гессе функции говорит нам, является ли поверхность выпуклой или нет, с положительными полуопределенными или положительно определенными гессианами, указывающими на выпуклость. Линейная функция выпукла, но не строго выпукла, тогда как строго выпуклая функция изгибалась бы вверх. Приведен пример строго выпуклой функции, а именно 1/2 x транспонированной x, которая имеет минимальное значение, когда градиент равен половине sx в квадрате.

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

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

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

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

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

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

  • 00:45:00 В этом разделе спикер обсуждает, как соотношение (1-B)/(1+B) имеет решающее значение для определения скорости сходимости во время градиентного спуска. Если B близко к нулю, отношение близко к единице, что приводит к медленной сходимости, а если B близко к единице, отношение близко к нулю, что приводит к быстрой сходимости. Докладчик использует пример наборов уровней и эллипсов, чтобы объяснить, как узкая долина может вызвать медленную сходимость при приближении к минимуму. Спикер подчеркивает важность хорошего номера состояния для оптимизации.

  • 00:50:00 В этом разделе спикер обсуждает, как градиентный спуск приближается к кривой с зигзагообразной траекторией, чтобы в конечном итоге достичь определенной точки. Он подчеркивает, что множитель 1 - B/(1 + B) играет решающую роль, а для выпуклой функции эта величина имеет решающее значение для определения сходимости наискорейшего спуска. В следующей лекции мы обсудим инерцию или тяжелый мяч, что включает в себя добавление дополнительного термина, который позволяет движению ускоряться, а не просто направлять его по максимальному спуску в каждой точке. Идея состоит в том, чтобы позволить инерции тяжелого мяча взять верх и скатиться вниз, как это было бы в реальной жизни.
22. Gradient Descent: Downhill to a Minimum
22. Gradient Descent: Downhill to a Minimum
  • 2019.05.16
  • www.youtube.com
MIT 18.065 Matrix Methods in Data Analysis, Signal Processing, and Machine Learning, Spring 2018Instructor: Gilbert StrangView the complete course: https://o...
 

Лекция 23. Ускоряющийся градиентный спуск (используйте Momentum)



23. Ускоряющийся градиентный спуск (используйте импульс)

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

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

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

  • 00:10:00 В этом разделе видео спикер обсуждает использование импульса в ускорении градиентного спуска. Член затухания в импульсе говорит вам, насколько быстро затухание меньше, и с импульсом этот член 1 минус B больше 1 плюс B меняется на один минус квадратный корень из B больше 1 плюс квадратный корень из B. Выступающий приводит пример B равно 1 на 100, а новый X — это старый X за вычетом градиента с дополнительным членом, который дает нам немного памяти. Этот термин включает в себя получение новой величины Z с размером шага, и вместо того, чтобы принимать Z просто как градиент, который был бы самым крутым спуском, говорящий добавляет кратную бета к предыдущей Z, которая является направлением поиска.

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

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

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

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

  • 00:35:00 В этом разделе видео спикер обсуждает задачу нахождения оптимальных параметров s и beta для матрицы два на два на основе собственных значений, зависящих от лямбда, m и capya. Цель состоит в том, чтобы выбрать параметры, которые приводят к наименьшему возможному большему собственному значению, что приведет к более быстрой сходимости. Докладчик представляет формулу для оптимальных s и бета, которые зависят от соотношения между маленьким m и большим M, и объясняет, как рассчитать результирующее минимальное собственное значение на основе этой формулы. В конечном итоге докладчик заключает, что этот оптимальный выбор s и бета приводит к собственным значениям, меньшим определенного числа, что приводит к более быстрой сходимости.

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

  • 00:45:00 В этом разделе ведущий рассказывает о члене импульса и Нестерове, что включает в себя оценку градиента в точке между XK и XK минус 1. Точка оценки для градиента F находится в некоторой нецелой точке, что неожиданно и странно, потому что это не точка сетки. Это включает в себя XK плюс 1, XK и XK минус 1, так что это метод второго порядка. Чтобы проанализировать его, следует процесс его записи в виде двух шагов первого порядка для оптимизации коэффициентов в Нестерове. Этот процесс включает в себя запись его в виде связанной системы, состоящей из одного шага, который имеет матрицу, находит матрицу, находит собственные значения матрицы и делает эти собственные значения как можно меньше.
23. Accelerating Gradient Descent (Use Momentum)
23. Accelerating Gradient Descent (Use Momentum)
  • 2019.05.16
  • www.youtube.com
MIT 18.065 Matrix Methods in Data Analysis, Signal Processing, and Machine Learning, Spring 2018Instructor: Gilbert StrangView the complete course: https://o...
 

Лекция 24. Линейное программирование и игры на двоих



24. Линейное программирование и игры для двоих.

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

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

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

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

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

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

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

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

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

  • 00:40:00 В этом разделе видео обсуждает линейное программирование и игры для двух человек на примере, где X хочет сделать маленькое число, а Y хочет сделать его большим. Это приводит к простой игре с седловой точкой, где Y каждый раз выбирает второй столбец, а X каждый раз выбирает первую строку. Однако, когда пример меняется и Y стремится ко второму столбцу, X должен выбрать смешанную стратегию, поскольку седловой точки нет. Y также использует смешанную стратегию, которую X в конце концов выясняет, что приводит к соревнованию, чтобы найти лучший выбор между 0 и 1.

  • 00:45:00 В этом разделе спикер обсуждает процесс решения игры двух лиц с помощью линейного программирования и приводит пример решения игры с матрицей. Оптимальной стратегией для Y оказывается 2/3 для первого столбца и 1/3 для второго столбца. Наилучшее q4 для X определяется с учетом этой оптимальной стратегии Y. Спикер объясняет, что могут быть другие столбцы или строки для X, которые не входят в перепутанный для оптимального.

  • 00:50:00 В этом разделе спикер обсуждает связи между линейным программированием и играми для двух человек. Он отмечает важность теоремы двойственности и то, как она связана с решением задач оптимизации, а также ограничения применения этих методов к играм с тремя и более людьми. Он также кратко рассказывает историю Джона Нэша и его вклад в эту область, включая его улучшение и последующую трагическую смерть. Наконец, спикер упоминает, что следующая лекция будет посвящена стохастическому градиентному спуску.
24. Linear Programming and Two-Person Games
24. Linear Programming and Two-Person Games
  • 2019.05.16
  • www.youtube.com
MIT 18.065 Matrix Methods in Data Analysis, Signal Processing, and Machine Learning, Spring 2018Instructor: Gilbert StrangView the complete course: https://o...
 

Лекция 25. Стохастический градиентный спуск



25. Стохастический градиентный спуск

В этом видеоролике представлена концепция стохастического градиентного спуска (SGD) как метода оптимизации для решения крупномасштабных задач машинного обучения, часто представляемых в виде задачи с конечной суммой. Докладчик объясняет, как SGD выбирает случайные точки данных для вычисления градиента, чтобы ускорить вычисления, и как он ведет себя иначе, чем пакетный градиентный спуск, поскольку он приближается к оптимуму из-за флуктуирующего характера метода. Ключевым свойством SGD является то, что оценка стохастического градиента является несмещенной версией истинного ожидаемого градиента, и дисперсию стохастического градиента необходимо контролировать, чтобы уменьшить шум. Использование мини-пакетов обсуждается как средство дешевого параллелизма в обучении GPU для глубокого обучения, но выбор правильного размера мини-пакета все еще остается открытым вопросом, который может повлиять на надежность решения при наличии невидимых данных. Проблемы оптимизации SGD включают определение размера мини-пакета и вычисление стохастических градиентов, но исследователи пытаются понять эффективность SGD в нейронных сетях, разрабатывая теорию обобщения.

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

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

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

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

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

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

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

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

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

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

  • 00:50:00 В этом разделе спикер обсуждает проблемы, связанные с оптимизацией стохастического градиентного спуска (SGD), включая определение того, какой мини-пакет использовать и как вычислять стохастические градиенты. Алгоритм обратного распространения представлен как популярный метод вычисления одного стохастического градиента, и наборы инструментов машинного обучения могут иметь разные способы автоматизации вычисления градиента. Обсуждаются теоретические проблемы в доказательстве эффективности SGD, в том числе вопрос о том, почему SGD так хорошо работает для нейронных сетей, несмотря на его предполагаемые неоптимальные качества. В настоящее время исследователи пытаются понять эту тайну, разрабатывая теорию обобщения.
25. Stochastic Gradient Descent
25. Stochastic Gradient Descent
  • 2019.05.16
  • www.youtube.com
MIT 18.065 Matrix Methods in Data Analysis, Signal Processing, and Machine Learning, Spring 2018Instructor: Suvrit SraView the complete course: https://ocw.m...
 

Лекция 26. Структура нейронных сетей для глубокого обучения



26. Структура нейронных сетей для глубокого обучения

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

  • 00:00:00 В этом разделе профессор представляет центральную структуру глубоких нейронных сетей, которая представляет собой конструкцию функции обучения f, которая изучает обучающие данные и может применяться к тестовым данным. Цель состоит в том, чтобы классифицировать данные двоичным способом, построив нейронную сеть с векторами признаков, которые имеют m признаков. Сеть создаст функцию обучения, которая может классифицировать данные по одной из двух категорий, таких как мальчик или девочка, кошка или собака, грузовик или автомобиль. Профессор также упоминает, что эта структура уже несколько месяцев доступна на сайте mascot mit.edu/learning from data и будет добавлена на платформу Stellar.

  • 00:05:00 В этом разделе лектор объясняет, как создать функцию f от X, которая возвращает правильный ответ для двухклассовой классификации. Лектор утверждает, что функция должна быть отрицательной для классификации минус один и положительной для классификации плюс один. Тем не менее, лектор признает, что нам не нужно правильно обрабатывать каждую выборку, так как может произойти переобучение, и обнаруженное нами правило должно охватывать почти все случаи, но не все «странные» случаи. Затем лектор рекомендует посетить сайт player.tensorflow.org, где простая модельная задача может помочь людям узнать о глубоком обучении. Игровая площадка предлагает четыре примера, и один из них включает в себя поиск функции, положительной в одних точках и отрицательной в других точках.

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

  • 00:15:00 В этом разделе спикер обсуждает веб-сайт TensorFlow’s Playground, который позволяет пользователям создавать функцию f от X с помощью нелинейной функции. Веб-сайт отображает нулевое множество для функции, которая разделяет положительные и отрицательные множества, а ноль находится между ними. Веб-сайт позволяет пользователям выбирать количество слоев и нейронов в каждом слое, так как они необходимы для поиска функции f, которая изучает данные. Спикер также отмечает важность линейных функций в этом процессе и просит порекомендовать хорошие сайты сверточных нейронных сетей для практики. Функция f имеет форму вектора X с пятью компонентами, первого слоя с шестью нейронами и выходного слоя с одним числом.

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

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

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

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

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

  • 00:45:00 В этом разделе спикер использует наглядный пример, чтобы помочь объяснить формулу для количества частей, созданных путем разрезания в многомерных пространствах. Используя биномиальные числа, формулу можно применить к любому заданному измерению M и N. Выступающий приводит пример, в котором N равно 3, а M равно 2, чтобы показать, как использовать формулу. Наконец, формула представлена в виде R с развертками в M измерениях, равными биномиальным числам, и от 0 до M.

  • 00:50:00 В этом разделе спикер обсуждает рекурсию, используемую при доказательстве формулы плоских кусков, возникающих при разрезании торта. Они объясняют, что искомое число — это предыдущее количество плоских деталей плюс количество отрезанных частей. Правило рекурсии доказано в разделе 7.1 из статьи Клейнберга и других. Следующим шагом после нахождения этого семейства функций является выбор А и весов. Это приводит к проблеме минимизации общих потерь, которую можно решить с помощью градиентного спуска и обратного распространения.
26. Structure of Neural Nets for Deep Learning
26. Structure of Neural Nets for Deep Learning
  • 2019.05.16
  • www.youtube.com
MIT 18.065 Matrix Methods in Data Analysis, Signal Processing, and Machine Learning, Spring 2018Instructor: Gilbert StrangView the complete course: https://o...
 

27. Обратное распространение: поиск частных производных



27. Обратное распространение: поиск частных производных

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

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

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

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

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

  • 00:20:00 В этом разделе спикер обсуждает процесс нахождения частных производных с помощью автоматического дифференцирования в прямом режиме. Они начинают с вычисления частной производной F DX, разбивая вычисление на простые части и заменяя промежуточные шаги производными. Они используют тот факт, что производная X, возведенная в куб по отношению к X, равна 3X в квадрате, что дает значение 12, когда X равно 2. Затем они признают, что прямой метод является расточительным, поскольку им придется построить другой график для производной Y. также. Спикер также использует правило произведения для нахождения частной производной произведения. Процесс требует небольшой организации, но весь смысл в том, чтобы разбить вычисление на простые части, чтобы упростить производные.

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

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

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

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

  • 00:45:00 В этом разделе спикер обсуждает два разных способа умножения трех матриц — A, B и C — и количество операций, необходимых для этого. Первый способ включает умножение A на BC, что требует M x N x PQ операций, где P и Q — количество строк и столбцов B и C соответственно. Второй способ включает умножение AB на C, что стоит M x P x Q операций. Докладчик подчеркивает, что важно помнить о количестве операций, необходимых при умножении матриц, особенно в случае, когда C является вектор-столбцом, поскольку это потенциально может привести к очень большим матрицам, с которыми трудно работать.

  • 00:50:00 В этом разделе спикер обсуждает частные производные и обратное распространение. Докладчик демонстрирует, что обратное распространение является правильным порядком для частных производных, поскольку оно позволяет умножать две большие матрицы и получать вектор-столбец, что намного быстрее, чем умножение вектора-столбца на матрицу для получения нового вектора-столбца, а затем умножение этого другой матрицей, чтобы получить другой вектор-столбец. Обратное распространение упрощает процесс и позволяет выполнять расчеты на порядок быстрее.
27. Backpropagation: Find Partial Derivatives
27. Backpropagation: Find Partial Derivatives
  • 2019.05.16
  • www.youtube.com
MIT 18.065 Matrix Methods in Data Analysis, Signal Processing, and Machine Learning, Spring 2018Instructor: Gilbert StrangView the complete course: https://o...
 

Лекция 30: Заполнение матрицы первого ранга, циркулянты!



Лекция 30: Заполнение матрицы первого ранга, циркулянты!

В лекции 30 лектор обсуждает заполнение матрицы первого ранга и циркулянтных матриц. Они начинают с определителя 2x2 и используют его для сужения того, какие значения могут быть заполнены в матрице, чтобы сделать ее ранговой. Затем лектор переходит к комбинаторной задаче для матрицы 4x4 и знакомит с циркулянтными матрицами, которые содержат циклические шаблоны, которые можно создать только с четырьмя заданными числами. В лекции также рассматриваются циклическая свертка, собственные значения и собственные векторы циркулянтных матриц, которые важны при обработке сигналов.

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

  • 00:05:00 В этом разделе лектор обсуждает заполнение матрицы первого ранга и циркулянты. Они начинают с изучения определителя 2x2, где любые два на два должны иметь ранг 1 и, следовательно, иметь определитель 0. Они используют эту идею, чтобы сузить круг отсутствующего числа в матрице и как заполнить остальные числа. значений. Затем лектор переходит к примеру 4x4 и представляет комбинаторную задачу, определяющую, какие 5 позиций будут работать, а какие нет. Наконец, они говорят о циркулянтах, которые имеют циклические закономерности в матрице, где каждая строка становится предыдущей строкой, сдвинутой вправо на один элемент. Они объясняют, как создавать циркулянтные матрицы и их свойства, включая диагонализацию.

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

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

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

  • 00:25:00 В этом разделе лектор знакомит с понятием циркулянтных матриц, которые представляют собой особый тип матриц свертки, которые имеют постоянные диагонали, которые необходимо завершить по окружности. Циркулянтные матрицы являются неотъемлемой частью обработки сигналов, а их алгебраические свойства делают их эффективным способом соединения набора весов. Это связано с тем, что ключевой матрицей здесь является матрица циклического сдвига, которая помогает создать циркулянтную матрицу из P и P². Указав первый столбец циркулянтной матрицы, MATLAB, например, может получить циклический сдвиг всех остальных столбцов, что означает, что нам нужно только четыре числа для определения циркулянтной матрицы четыре на четыре.

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

  • 00:35:00 В этом разделе лектор обсуждает матрицы первого ранга и циркулянты. При умножении матрицы кругового сдвига 4x4 на третью степень возникает вопрос, почему произведение не имеет шестой степени. Суть в том, что P к четвертому члену на самом деле является P к 0 члену, поэтому произведение является циклической сверткой. Затем лектор объясняет разницу между сверткой и циклической сверткой, приводя пример вычисления свертки между двумя векторами. Он также напоминает зрителям, что нециклическая свертка не использует символ круга, в отличие от циклической свертки.

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

  • 00:45:00 В этом разделе лекции спикер объясняет, что собственные векторы матрицы C совпадают с собственными векторами матрицы P. Собственные векторы матрицы P равны 1 и -1, а также i и -i. Мир циркулянтов имеет несколько собственных значений и собственных векторов для каждого циркулянта, и это важные правила обработки сигналов.
Lecture 30: Completing a Rank-One Matrix, Circulants!
Lecture 30: Completing a Rank-One Matrix, Circulants!
  • 2019.05.16
  • www.youtube.com
MIT 18.065 Matrix Methods in Data Analysis, Signal Processing, and Machine Learning, Spring 2018Instructor: Gilbert StrangView the complete course: https://o...
 

Лекция 31. Собственные векторы циркулянтных матриц: матрица Фурье



31. Собственные векторы циркулянтных матриц: матрица Фурье.

В этом видео о собственных векторах циркулянтных матриц спикер обсуждает, как циркулянтные матрицы связаны с обработкой изображений и машинным обучением, а также его связь с матрицей Фурье. Докладчик подчеркивает важность понимания сверточных и циркулянтных матриц по отношению к дискретному преобразованию Фурье (ДПФ) и преобразованиям Фурье. Докладчик обсуждает собственные векторы циркулянтных матриц, в частности матрицу Фурье, и то, как все они строятся из одного и того же набора восьми чисел, которые также являются собственными значениями. Спикер также рассказывает о свойствах матрицы Фурье, в том числе о том, что столбцы ортогональны, но не ортонормированы, и как ее собственные векторы складываются до нуля из-за симметрии циркулянтной матрицы, что делает их ортогональными друг другу. Наконец, спикер демонстрирует концепцию вектора Аргана как собственного вектора матрицы Фурье на примерах.

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

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

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

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

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

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

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

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

  • 00:40:00 В этом разделе спикер обсуждает собственные векторы циркулянтных матриц и подчеркивает, что все собственные векторы строятся из одного и того же набора восьми чисел, которые также являются собственными значениями. Матрица собственных векторов для всех циркулянтных матриц размера n представляет собой матрицу Фурье, которая является важной комплексной матрицей, допускающей быстрое преобразование Фурье. Все элементы матрицы являются степенями комплексного числа W на единичной окружности в одной из ее восьми точек. Первый собственный вектор — все единицы, а остальные — степени W, так что матрица имеет размер 8x8. В целом циркулянтные матрицы имеют схожие свойства благодаря общей матрице собственных векторов.

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

  • 00:50:00 В этом разделе спикер обсуждает, как вектор Аргана является собственным вектором матрицы Фурье. Он демонстрирует, как при сложении скалярного произведения компонентов Арганового вектора результат равен 1. Затем он показывает, как при умножении Арганового вектора на e в степени (2π/3) компоненты получившихся векторов в сумме дают 0. Эти демонстрации иллюстрируют концепцию ортогональности собственных векторов циркулянтной матрицы. В заключение докладчик упомянул, что продолжит обсуждение темы матрицы Фурье на следующей лекции и что в 1806 году осталось всего полторы недели занятий.
31. Eigenvectors of Circulant Matrices: Fourier Matrix
31. Eigenvectors of Circulant Matrices: Fourier Matrix
  • 2019.05.16
  • www.youtube.com
MIT 18.065 Matrix Methods in Data Analysis, Signal Processing, and Machine Learning, Spring 2018Instructor: Gilbert StrangView the complete course: https://o...
 

Лекция 32: ImageNet — это сверточная нейронная сеть (CNN), правило свертки



Лекция 32: ImageNet — это сверточная нейронная сеть (CNN), правило свертки

В лекции 32 курса глубокого обучения обсуждается мощь сверточных нейронных сетей (CNN) в классификации изображений на примере конкурса ImageNet, выигранного большой глубокой CNN, включающей сверточные слои, нормальные слои и максимальные объединяющие слои. Лекция также посвящена правилу свертки, которое связывает умножение и свертка, с примерами двумерных сверток, использованию произведения Кронекера для двумерного преобразования Фурье и при обработке сигналов, а также разнице между периодическими и непериодическими случаи в отношении свертки. Лектор также обсуждает собственные векторы и собственные значения циркулянтной матрицы и операцию суммы Кронекера.

  • 00:00:00 В этом разделе видео обсуждается важность сверточных нейронных сетей (CNN) в связи с глубоким обучением и классификацией изображений. Упоминается статья Хинтона и Скиппера, которая обучила большую глубокую CNN классифицировать 1,2 миллиона изображений с высоким разрешением в ImageNet. Соревнование было выиграно с коэффициентом ошибок тестов пятерки лучших 15% по сравнению с 26% для команды, занявшей второе место. В CNN были слои свертки, нормальные слои и слои с максимальным объединением, при этом половина выборок проходила на одном графическом процессоре, а половина — на другом. Выпадение также использовалось в полносвязных слоях, чтобы уменьшить переоснащение. Это демонстрирует мощь CNN в решении огромной вычислительной проблемы классификации изображений.

  • 00:05:00 В этом разделе видео спикер обсуждает правило свертки, которое является важным аспектом сверточных нейронных сетей (CNN). Он объясняет, что свертка возникает в результате умножения многочленов и как можно по-другому записать формулу для коэффициентов в содержании C*D свертки, чтобы увидеть, как работает свертка. Затем он приводит пример свертки двух функций и объясняет, что это понятие относится к свертке двух векторов в CNN. Понимание свертки имеет решающее значение для понимания внутренней работы CNN, которая представляет собой тип нейронной сети с 60 миллионами параметров и используется для задач распознавания изображений.

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

  • 00:15:00 В этом разделе видео лектор обсуждает разницу между периодическим и непериодическим случаями в отношении свертки. В периодическом случае фактор W определяется как обладающий тем свойством, что от W к N равно 1, и векторы больше n могут быть свернуты обратно в вектор длины n. Циклический случай рассматривает K только от 0 до n-1, а суммы идут только от 0 до n-1. В непериодическом случае свертка имеет компоненты P плюс Q минус 1, и это число вычисляется в первой лабораторной работе.

  • 00:20:00 В этом разделе лектор обсуждает собственные векторы и собственные значения циркулянтной матрицы, в частности матрицы перестановок. Собственные векторы — это столбцы матрицы собственных векторов, которая обозначается как «F», и есть четыре собственных значения, полученные в результате умножения F и C. Лектор демонстрирует эту формулу, объясняя, что если C является комбинацией P, то та же самая комбинация собственных векторов даст собственные значения матрицы C.

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

  • 00:30:00 В этом разделе видео лектор обсуждает правило свертки, которое гласит, что можно свернуть изображение и применить к нему преобразование Фурье (ПФ), либо применить ПФ к отдельным изображениям, а затем умножить их точки -мудрый. Это правило полезно, потому что оно позволяет выполнять быстрое преобразование Фурье (БПФ), которое очень эффективно. Затем лектор считает стоимость каждого метода — метод свертки требует N^2 шагов, а метод раздельного преобразования — всего 2NlogN шагов.

  • 00:35:00 В этом разделе спикер обсуждает двумерные свертки и операцию, которую необходимо выполнить для свертки двух функций в двух измерениях. Они обсуждают, как в MATLAB команда, необходимая для выполнения этой операции, называется «cron» и как ее можно использовать для создания двумерной матрицы с N квадратами пикселей путем умножения двух одномерных матриц A и B. Докладчик также затрагивает идея о том, что если кто-то хочет умножить два длинных целых числа в криптографии, использование правила свертки может быть более быстрым и эффективным методом.

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

  • 00:45:00 В этом разделе спикер обсуждает произведение Кронекера и то, как его можно использовать в обработке сигналов. Он объясняет, что хочет использовать произведение Кронекера, чтобы добавить двухмерный эффект к данным, а затем добавить производную по вертикали. Вместе это называется суммой Кронекера, которая является важной операцией в обработке сигналов. Он также призывает студентов писать ему по электронной почте, если они хотели бы стать волонтерами проекта, в котором они могли бы обсудить то, что они узнали, и получить отзывы от аудитории.
Lecture 32: ImageNet is a Convolutional Neural Network (CNN), The Convolution Rule
Lecture 32: ImageNet is a Convolutional Neural Network (CNN), The Convolution Rule
  • 2019.05.16
  • www.youtube.com
MIT 18.065 Matrix Methods in Data Analysis, Signal Processing, and Machine Learning, Spring 2018Instructor: Gilbert StrangView the complete course: https://o...
 

Лекция 33. Нейронные сети и функция обучения



33. Нейронные сети и функция обучения

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

  • 00:00:00 В этом разделе спикер обсуждает построение функции обучения f для нейронных сетей, которая оптимизируется методом градиентного спуска или стохастического градиентного спуска и применяется к обучающим данным для минимизации потерь. Функция обучения является функцией двух наборов переменных, X и V, где X — веса, а V — векторы признаков из обучающих данных. Структура нейронной сети включает в себя получение f набора весов и выборочных векторов, создание нелинейных шагов и повторение процесса до достижения желаемого результата. Линейный шаг включает в себя ввод V0, умножение его на матрицы AK и добавление векторов смещения BK для смещения начала координат.

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

  • 00:10:00 В этом разделе спикер объясняет использование нарисованного от руки рисунка для иллюстрации концепции нейронных сетей и функции обучения. Он рисует картинку, где есть компоненты обучающей выборки, умноженные на v1, который является первым в слое, который может иметь разное количество нейронов в первом слое, и каждый из них исходит из ez by. Функция потерь — это функция, которую мы хотим минимизировать, выбрав x2, то есть все A и B. Функция потерь часто представляет собой конечную сумму по всем F, которую можно вычислить для всех I, но вместо этого используется стохастический градиент, чтобы выбрать только один или небольшое количество из них. Функция потерь будет минус истинный результат выборки I, который можно возвести в квадрат, чтобы получить сумму квадратов квадратов ошибок по всем выборкам.

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

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

  • 00:25:00 В этом разделе спикер рассказывает о Центре исследования операций Массачусетского технологического института и предлагаемых им курсах, включая оптимизацию, анализ данных, статистику и исследование операций. Спикер также ссылается на лекцию сэра Тима Бернерса-Ли, создателя Всемирной паутины, и на его ответственность за чрезмерное количество букв в URL-адресах. Затем спикер обсуждает матрицы расстояний и задачу нахождения матрицы положения по заданным расстояниям. Спикер упоминает несколько приложений, в том числе беспроводные сенсорные сети, в которых можно измерять расстояния между датчиками, и системы GPS, которые могут вычислять местоположение по аналогичному принципу.

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

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

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

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

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

  • 00:55:00 В этом разделе спикер завершает обсуждение матриц расстояний, которое было последним шагом к получению структуры нейронной сети, отделяющей выборочные векторы от весов. Спикер также упоминает две части линейной алгебры: поиск вещей, чтобы привести их к треугольной форме или соединить их с симметричными матрицами. Наконец, спикер упоминает призыв к волонтерам обсудить проект в пятницу.
33. Neural Nets and the Learning Function
33. Neural Nets and the Learning Function
  • 2019.05.16
  • www.youtube.com
MIT 18.065 Matrix Methods in Data Analysis, Signal Processing, and Machine Learning, Spring 2018Instructor: Gilbert StrangView the complete course: https://o...
Причина обращения: