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

Когда я брал интервью у Byte в прошлом году, я подготовил некоторые точки знаний, обычно используемые в алгоритмах, и оказалось, что подготовка была неплохой. Теперь поделитесь им со всеми, я надеюсь, что мой поиск работы будет более гладким.

Оглавление

Алгоритм оптимизации, Adam, Momentum, Adagard, принцип SGD:

Регуляризация:

Связь между логит-функцией и сигмовидной функцией:

Функция потерь:

Функция кросс-энтропийных потерь:

Почему нейронные сети используют кросс-энтропию?

Роль функции активации:

Логистическая регрессия и линейная регрессия:

Алгоритмы классификации и сценарии их применения:

Пакетная нормализация: пакетная нормализация

Решения недообучения и переобучения:

Как решить проблему исчезновения градиента и взрыва градиента

Как решить проблему положительного и отрицательного дисбаланса выборки:

Линейная регрессия и логистическая регрессия:

Причины, по которым обучающая сеть не сходится:

Преимущества использования меньшего ядра свертки:


Проблема с высокой частотой:

Алгоритм оптимизации, Adam,  Momentum, Adagard, принцип SGD :

Адаптивный алгоритм скорости обучения
В процессе обучения Adagard может автоматически изменять скорость обучения и устанавливать глобальную скорость обучения, при этом фактическая скорость обучения обратно пропорциональна квадратному корню из суммы исторических квадратных значений градиента. Использование adagrad для суммирования квадратов предыдущих градиентов, а затем открытие знака корня в качестве знаменателя приведет к увеличению скорости обучения в начале, и скорость обучения будет постепенно снижаться по мере прохождения обучения.
Импульс относится к понятию импульса в физике.Градиенты предыдущих раундов также будут участвовать в текущем расчете, но градиентная суперпозиция предыдущих раундов будет иметь определенное затухание в текущем расчете. Он используется для устранения недостатков нестабильного градиентного спуска и легкого попадания в седловую точку.
SGD — стохастический градиентный спуск, Каждая итерация вычисляет градиент мини-пакета набора данных, а затем обновляет параметры. Преимущество в том, что скорость обновления быстрая, а недостаток в том, что обучение нестабильно и точность падает.
Адам использует оценку момента первого порядка и оценку момента градиента второго порядка для динамической настройки скорости обучения каждого параметра.После коррекции смещения скорость обучения после каждой итерации имеет определенный диапазон, что делает параметры более стабильными.Преимущества два алгоритма импульс и адаград

Регуляризация:

Он используется для явного проектирования, чтобы уменьшить ошибку теста, изменить алгоритм обучения и уменьшить ошибку обобщения вместо ошибки обучения.Добавляя штраф за норму параметра к целевой функции, способность к обучению модели ограничивается.
Регуляризация L1 Сумма абсолютных значений каждого параметра может генерировать разреженную матрицу весов, то есть генерировать разреженную модель, которую можно использовать для выбора признаков; в определенной степени это может предотвратить переоснащение.
Разреженная матрица относится к матрице, в которой многие элементы равны 0 и лишь несколько элементов отличны от нуля. Взяв в качестве примера линейную регрессию, большинство коэффициентов полученной модели линейной регрессии равны 0, что означает, что только несколько признаков вносят вклад в модель, что обеспечивает выбор признаков. В целом, разреженные модели полезны для выбора признаков.
Регуляризация L2 может предотвратить переоснащение модели. L2 — это значение квадратного корня из суммы квадратов каждого параметра.
Что делать, если L1 не управляем?      Q:  Когда функция потерь не может быть получена и градиентный спуск больше не эффективен, можно использовать метод спуска по оси координат.Градиентный спуск предназначен для обновления параметров в направлении отрицательного градиента текущей точки, а спуск по оси координат метод вдоль направления оси координат.Предположим, что существует m число функций, когда метод спуска по оси координат входит в обновление параметра, сначала зафиксируйте значение m-1, а затем найдите другое локальное оптимальное решение, чтобы избежать функция потерь неведущая задача
Понимание норм L1 и L2: глубокое понимание норм L1 и L2

Связь между логит-функцией и сигмовидной функцией:

логистическая функция является обратной функцией логит-функции
Сигмовидная функция не является определенной функцией, а относится к определенному типу функции, такой как «S», которая может стать сигмоидной функцией.
Разница между функциями логит\логистик\симоид: статья для понимания разницы между логит, логистикой и сигмоидом. Знание  значения логита в машинном обучении очень полезно для понимания модели.
Преимущество сигмоиды в том, что выходной диапазон ограничен, поэтому данные не так легко расходятся во время передачи. Конечно, есть и соответствующие недостатки, то есть градиент слишком мал при насыщении.
Еще одним преимуществом сигмоиды является то, что выходной диапазон равен (0, 1), поэтому ее можно использовать в качестве выходного слоя, а выходные данные представляют собой вероятность; ею можно руководствоваться везде,

Функция потерь:

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

Функция перекрестной энтропийной потери :

Функция кросс-энтропийных потерь часто используется в задачах классификации, особенно когда нейронные сети используются для задач классификации, кросс-энтропия часто используется в качестве функции потерь Кроме того, поскольку кросс-энтропия включает в себя вычисление вероятности каждой категории, -энтропия почти каждый раз Оба появляются вместе с сигмовидной (или softmax) функцией.
Давайте используем выходные данные последнего слоя нейронной сети, чтобы взглянуть на весь процесс прогнозирования, потери и обучения модели:
1. Последний слой нейронной сети получает баллы (также называемые логитами) каждой категории;
2. Оценка передается через сигмовидную (или softmax) функцию для получения вероятностного вывода;
3. Рассчитайте функцию кросс-энтропийных потерь между вероятностным выходом категории, предсказанным моделью, и горячей формой реальной категории.
n представляет количество категорий

Почему нейронные сети используют кросс-энтропию?

MSE : среднеквадратическая ошибка, наиболее часто используемый показатель производительности в задачах регрессии .
Функция потерь практического применения  | Функция потерь перекрестной  энтропии
Разница и связь между softmax и сигмовидными функциями:
Сигмоид = проблема классификации с несколькими метками = несколько правильных ответов = неэксклюзивный вывод
Softmax = проблема классификации нескольких классов = только один правильный ответ = взаимоисключающий вывод

Роль функции активации:

Это должно увеличить нелинейность модели нейронной сети. Каждый слой без функции активации эквивалентен матричному умножению. Даже после того, как вы наложите несколько слоев, это не что иное, как перемножение матриц. Так что если у вас нет нелинейной структуры, это вообще не нейронная сеть.
Где relu лучше сигмоида?
relu(x) = max(0,x) Градиент в части больше 0 постоянен, и не будет явления градиентной дисперсии; производная relu вычисляется быстрее; производная relu в области отрицательной половины равна 0 , поэтому значение активации нейрона Когда это отрицательное число, градиент равен 0, а нейрон не участвует в обучении и имеет разреженность.
Вариант relu: дырявый/'li:ki/ relus  

Логистическая регрессия и линейная регрессия:

Линейная регрессия используется для прогнозирования, а LR используется для классификации. Линейная регрессия предназначена для подбора функции, а LR — для прогнозирования функции. Линейная регрессия использует метод наименьших квадратов для расчета параметров, а LR использует оценку максимального правдоподобия для расчета параметров. Линейная регрессия более чувствительна к выбросам, в то время как LR лучше устойчива к выбросам. LR по-прежнему является линейной регрессией, но в процессе сопоставления признаков с результатами добавляется слой отображения функций, то есть сигмовидная функция, то есть сначала линейно суммируйте признаки, а затем используйте сигмоидную функцию для ограничения линейной суммы между (0,1) , полученное значение используется для дихотомических или регрессионных прогнозов.
Сходства и различия между LR и SVM:
И LR, и SVM являются алгоритмами классификации (SVM также может использоваться с регрессией). LR — это параметрическая модель, а SVM — непараметрическая модель. Функция потерь, используемая LR, представляет собой логистические потери, а SVM использует потери на петлях. При изучении классификатора SVM рассматривает только несколько точек опорного вектора, наиболее подходящих для классификации. Модель LR относительно проста и удобна для крупномасштабной линейной классификации.
Метод логистической регрессии основан на теории вероятностей, предполагая, что вероятность того, что выборка равна 1, может быть выражена сигмоидной функцией, а затем значение параметра оценивается методом оценки максимального правдоподобия
Машина опорных векторов основана на принципе максимизации геометрического интервала и считает, что поверхность классификации с наибольшим геометрическим интервалом является оптимальной поверхностью классификации.

Алгоритмы классификации и сценарии их применения:

Единый метод классификации в основном включает в себя: логистическую регрессию LR, машину опорных векторов SVM, дерево решений DT, наивный байесовский метод NB, искусственную нейронную сеть NN, K-ближайший сосед; интегрированный алгоритм обучения: основанный на идеях алгоритмов мешков и бустингов, случайный лес RF, GBDT, Адабуст, XGboost.

Пакетная нормализация: пакетная нормализация

С помощью нормализации все более и более смещенное распределение возвращается к стандартному нормальному распределению со средним значением 0 и дисперсией 1, так что входное значение функции активации попадает в область, где функция активации более чувствительна. на вход, тем самым увеличивая градиент.Ускорьте скорость сходимости обучения и избегайте проблемы исчезновения градиента.
Ссылка: почему пакетная нормализация эффективна в глубоком обучении? Почему пакетная нормализация эффективна в глубоком обучении? - Знаю почти
Преимущества БН.
(1) Снижена зависимость от инициализации параметров, что выгодно друзьям, которые настраивают параметры.
(2) Обучение проходит быстрее, и можно использовать более высокие скорости обучения.
(3) BN в определенной степени увеличивает способность к обобщению, и такие методы, как отсев, могут быть удалены.

Решения недообучения и переобучения:

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

Как решить проблему исчезновения градиента и взрыва градиента

Причина для функции активации заключается в том, что градиент очень мал в процессе получения градиента, и ошибка не может быть эффективно распространена обратно, вызывая проблему исчезновения градиента.
1) Используйте функции активации, такие как ReLU, LReLU, ELU, maxout и т. д.
Градиент сигмовидной функции увеличивается или уменьшается и исчезает по мере увеличения x, а ReLU - нет.
2) Используйте пакетную нормализацию
Нормируйте выходной сигнал x к среднему значению 0 и дисперсии 1, чтобы гарантировать стабильность сети посредством операции нормализации. Из приведенного выше анализа мы видим, что в формуле обратного распространения есть w, поэтому размер w влияет на исчезновение и взрыв градиента.Пакетная нормализация - это метод стандартизации вывода каждого слоя, чтобы он соответствовал среднему и Эффект увеличения и уменьшения масштаба, вызванный w, устраняется, а затем решается проблема исчезновения и взрыва градиента.

Как решить проблему положительного и отрицательного дисбаланса выборки:

Проблема дисбаланса данных:
Передискретизация, избыточная выборка категорий (категорий меньшинства) с небольшим количеством выборок в обучающем наборе и синтез новых выборок для устранения дисбаланса классов.
Недостаточная выборка, недостаточная выборка категорий (большинства категорий) с большим количеством выборок в обучающем наборе и отбрасывание некоторых выборок для устранения дисбаланса классов.
Синтез нового класса меньшинства
сдвиг порога

Линейная регрессия и логистическая регрессия:

Функция потерь для логистической регрессии: функция потерь логарифмического правдоподобия
потеря = -【yln a - (1-y)ln a】
где y представляет собой истинную метку образца, т. е. 0 или 1.
a представляет вероятность того, что прогнозируемый результат равен 0 или 1, а значение a находится в интервале [0,1].
Поэтому в приведенном выше полиноме мы рассматриваем один результат предсказания — положительные/отрицательные примеры.
При рассмотрении положительного примера, то есть при y = 1, функция потерь = - [yln a], когда a ближе к 1, то ln a принимает максимальное значение, а при y = 1 функция потерь принимает минимальное значение ценить.
Дополнение: Логистическая регрессия предназначена для бинарной классификации, то есть алгоритма, полученного из распределения Бернулли.
1. И LR, и SVM могут решать задачи классификации и обычно используются для решения задач линейной бинарной классификации (задачи множественной классификации могут решаться в улучшенных условиях).
2. Оба метода могут добавлять различные условия регуляризации, такие как l1, l2 и т. д. Поэтому во многих экспериментах результаты двух алгоритмов очень близки.
разница:
1. LR — параметрическая модель, а SVM — непараметрическая модель.
2. С точки зрения целевой функции разница заключается в том, что логистическая регрессия использует логистические потери, а SVM использует шарнирные потери, Цель этих двух функций потерь — увеличить вес точек данных, которые оказывают большее влияние на классификацию, и уменьшить связь с классификацией. Вес меньших точек данных.
3. Метод обработки SVM заключается в том, чтобы рассматривать только опорные векторы, то есть несколько точек, наиболее связанных с классификацией, для изучения классификатора. Логистическая регрессия значительно снижает вес точек, удаленных от плоскости классификации, за счет нелинейного отображения и относительно увеличивает вес точек данных, наиболее важных для классификации.
4. Модель логистической регрессии относительно проста и понятна, особенно для крупномасштабной линейной классификации. Понимание и оптимизация SVM относительно сложны. После того, как SVM превращается в двойную задачу, для классификации требуется только вычислить расстояние от нескольких опорных векторов. Это имеет очевидные преимущества при выполнении сложных расчетов функций ядра и может значительно упростить модель и расчет. .
5. Что может логика, может и svm, но могут быть проблемы с показателем точности, а какая-то логика, которую умеет svm, не может.

Причины, по которым обучающая сеть не сходится:

(1) Нормализация данных не производится;
(2) результаты предварительной обработки и итоговые результаты тренировочного теста не проверялись;
(3) предварительная обработка данных не производится;
(4) регуляризация не используется;
(5) Установлен слишком большой размер партии;
(6) Скорость обучения установлена ​​неправильно;
(7) Функция активации последнего слоя неверна;
(8) В сети плохой градиент.Например, когда Relu имеет градиент 0 для отрицательных значений, а при обратном распространении градиент 0 означает отсутствие распространения;
(9) Ошибка инициализации параметра;
(10) Настройка сети необоснованна, сеть слишком мелкая или слишком глубокая;
(11) количество нейронов в скрытом слое неверно;
(12) Ошибка в настройке метки набора данных

Преимущества использования меньшего ядра свертки:

Вместо ядер свертки 7 * 7 используются три ядра свертки 3 * 3, а вместо ядер свертки 5 * 5 используются два ядра свертки 3 * 3. Основная цель этого - обеспечить одинаковое поле восприятия. глубина сети улучшается, и эффект нейронной сети в определенной степени улучшается.
Для двух ядер свертки 3*3 общее количество используемых параметров составляет 2*(3*3)*каналов, а для ядра свертки 5*5 — 5*5*каналов, поэтому количество параметров можно значительно уменьшить.

Guess you like

Origin blog.csdn.net/candice5566/article/details/123527669