Дао градиентного спуска

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

Люди обычно используют аналогию со стоянием где-то на горном хребте с завязанными глазами, пытаясь добраться до самой низкой точки (глобальные минимумы).

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

Вероятно, самая популярная версия называется Stochastic Gradient Descent (SGD), которая позволяет телепортировать вас по горному хребту, но не дает вам застрять где-нибудь в колее.

Существует довольно много разновидностей градиентного спуска, и все они преследуют одну цель — найти минимумы. Найдите правильные минимумы, найдите оптимальное решение.

Оптимизация жизни

Когда меня спрашивают, голоден ли я, вместо ответа «да» или «нет» я начинаю думать о том, какую пользу принесет мне еда сейчас, а не через 30 минут. Я делаю это много, со всем. Планирование с друзьями, какую дорогу выбрать, шоколадную или ванильную и т. д. (Это будет раздражать вашего партнера, и я этого не рекомендую.)

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

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

Оптимум запустил процессор моего мозга выше, чем Google Chrome в Windows. Я удивлен, что продержался так долго.
Оглядываясь назад, я понимаю, что потратил много времени только на то, чтобы дать своему мозгу остыть от того, что мне больше не нравилось.

В конце концов, я рад, что сделал это, но не знаю, воспользуюсь ли я тем же подходом снова.

Какое это имеет отношение к градиентному спуску?

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

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

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

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

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

Если вы зашли так далеко, то могли заметить, что это не лучшая письменная работа за последнее столетие. Это скорее бред. Но эта бессвязность более реальна, чем любая связная мысль или совершенная мысль, которая никогда не покидала мой разум.

Я где-то читал анекдот, в котором это лучше всего сказано. «Если блокнот Jupyter найдет лекарство от рака, кто-нибудь услышит об этом?» или печенье с предсказанием, которое я носил с собой, в котором говорилось: «Мысли без действий никогда не будут больше, чем нейрон, который их создал».

Это подводит нас к нашему последнему пункту.

  • Все начинается с одного несовершенного шага.

Примечание. Я еще не рассматривал возможности применения суперконвергенции, но это в моем списке дел.