Функция стоимости нейронной сети равна , и она называется невыпуклой . Я не совсем понимаю, почему это так, поскольку, как я вижу, это очень похоже на функцию стоимости логистической регрессии, верно?
Если оно невыпукло, значит, производная 2-го порядка , верно?
ОБНОВИТЬ
Благодаря ответам ниже, а также комментарию @ gung, я понял, что если скрытых слоев нет вообще, они выпуклые, как логистическая регрессия. Но если есть скрытые слои, переставляя узлы в скрытых слоях, а также веса в последующих соединениях, мы могли бы иметь несколько решений весов, приводящих к той же потере.
Теперь больше вопросов,
1) Существует несколько локальных минимумов, и некоторые из них должны иметь одинаковое значение, поскольку они соответствуют некоторым узлам и перестановкам весов, верно?
2) Если узлы и веса вообще не будут переставляться, то они выпуклые, верно? И минимумы будут глобальными минимумами. Если это так, ответ на 1), все эти локальные минимумы будут иметь одинаковое значение, правильно?
источник
Ответы:
Функция стоимости нейронной сети в общем случае не является ни выпуклой, ни вогнутой. Это означает, что матрица всех вторых частных производных (гессиана) не является ни положительной полуопределенной, ни отрицательной полуопределенной. Поскольку вторая производная является матрицей, вполне возможно, что это ни то, ни другое.
Чтобы сделать это аналогичным функциям с одной переменной, можно сказать, что функция стоимости не имеет форму графа и графа - x 2 . Другим примером невыпуклые, не вогнутая функция является грехом ( х ) на R . Одно из самых поразительных отличий состоит в том, что ± x 2 имеет только один экстремум, тогда как грех имеет бесконечно много максимумов и минимумов.x2 −x2 sin(x) R ±x2 sin
Как это связано с нашей нейронной сетью? Функция стоимости также имеет ряд локальных максимумов и минимумов, как вы можете видеть на этом рисунке , например.J(W,b)
Дело в том, что имеет несколько минимумов, также можно хорошо интерпретировать. На каждом слое вы используете несколько узлов, которым назначены разные параметры, чтобы сделать функцию стоимости небольшой. За исключением значений параметров, эти узлы одинаковы. Таким образом, вы можете обмениваться параметрами первого узла в одном слое с параметрами второго узла в том же слое и учитывать это изменение в последующих слоях. В итоге вы получили бы другой набор параметров, но значение функции стоимости невозможно отличить (в основном вы просто переместили узел в другое место, но сохранили все входы / выходы одинаковыми).J
источник
Если вы переставляете нейроны в скрытом слое и делаете ту же перестановку на весах соседних слоев, тогда потеря не изменится. Следовательно, если существует ненулевой глобальный минимум как функция весов, то он не может быть уникальным, так как перестановка весов дает другой минимум. Следовательно, функция не является выпуклой.
источник
Является ли целевая функция выпуклой или нет, зависит от деталей сети. В случае, когда существует несколько локальных минимумов, вы спрашиваете, все ли они эквивалентны. В общем случае ответ отрицательный, но вероятность нахождения локального минимума с хорошей производительностью обобщения увеличивается с увеличением размера сети.
Эта статья представляет интерес:
Из введения:
Они также ссылаются на некоторые статьи, описывающие, как седловые точки являются более серьезной проблемой, чем локальные минимумы при обучении больших сетей.
источник
Некоторые ответы на ваши обновления:
Да, вообще есть несколько локальных минимумов. (Если бы был только один, это назвали бы глобальным минимумом.) Локальные минимумы не обязательно будут иметь одинаковое значение. Как правило, не может быть локальных минимумов, имеющих одинаковое значение.
Нет, это не выпукло, если это не однослойная сеть. В общем случае с несколькими слоями параметры более поздних слоев (весовые коэффициенты и параметры активации) могут быть высокорекурсивными функциями параметров в предыдущих слоях. Как правило, умножение переменных решения, введенное некоторой рекурсивной структурой, имеет тенденцию разрушать выпуклость. Другой замечательный пример этого - модели MA (q) в анализе временных рядов.
источник
У вас будет один глобальный минимум, если проблема выпуклая или квазивыпуклая.
О выпуклых «строительных блоках» при построении нейронных сетей (версия для информатики)
Я думаю, что есть несколько из них, которые можно упомянуть:
max (0, x) - выпуклый и возрастающий
log-sum-exp - выпуклый и растущий по каждому параметру
y = Ax является аффинным и поэтому выпуклым в (A), может увеличиваться, а может уменьшаться. y = Ax является аффинным и поэтому выпуклым в (x), может увеличиваться, а может уменьшаться.
К сожалению, он не является выпуклым в (A, x), потому что выглядит как неопределенная квадратичная форма.
Обычная математическая дискретная свертка (под «обычным» я подразумеваю определение с повторяющимся сигналом) Y = h * X Похоже, что это аффинная функция h или переменной X. Так что это выпуклая переменная h или переменная X. Об обеих переменных Я так не думаю, потому что, когда h и X - скаляры, свертка сведется к неопределенной квадратичной форме.
max (f, g) - если f и g выпуклые, то max (f, g) также является выпуклым.
Если вы подставляете одну функцию в другую и создаете композиции, то все еще в выпуклой комнате для y = h (g (x), q (x)), но h должно быть выпуклым и увеличиваться (не уменьшаться) в каждом аргументе. ...
Почему нейронные сети в невыпуклых:
Я думаю, что свертка Y = h * X не обязательно увеличивается в h. Поэтому, если вы не используете никаких дополнительных предположений о ядре, вы сразу же выйдете из выпуклой оптимизации после применения свертки. Так что не все в порядке с составом .
Также свертка и умножение матриц не являются выпуклыми, если учитывать пару параметров, как указано выше. Таким образом, есть еще одна проблема с умножением матрицы: это невыпуклая операция по параметрам (A, x)
y = Ax может быть квазивыпуклым в (A, x), но также следует принимать во внимание дополнительные предположения.
Пожалуйста, дайте мне знать, если вы не согласны или у вас есть дополнительные соображения. Вопрос тоже очень интересный для меня.
ps max-pooling - то, что понижающая выборка с выбором max выглядит как некоторая модификация элементарных операций max с аффинной предкомпозицией (для извлечения нужных блоков), и для меня это выглядит выпуклым.
О других вопросах
Нет, логистическая регрессия не является выпуклой или вогнутой, но является лог-вогнутой. Это означает, что после применения логарифма у вас будет вогнутая функция в объясняющих переменных. Так что здесь уловка максимального правдоподобия велика.
Если существует не только один глобальный минимум. Ничего нельзя сказать о связи между локальными минимумами. Или, по крайней мере, вы не можете использовать выпуклую оптимизацию и ее расширения для нее, потому что эта область математики глубоко основана на глобальном недооценке.
Может быть, у вас есть путаница по этому поводу. Потому что на самом деле люди, которые создают такие схемы, просто делают «что-то» и получают «что-то». К сожалению, потому что у нас нет идеального механизма для решения с невыпуклой оптимизацией (в общем).
Но кроме нейронных сетей есть еще более простые вещи, которые не могут быть решены как нелинейные наименьшие квадраты - https://youtu.be/l1X4tOoIHYo?t=2992 (EE263, L8, 50:10)
источник