Функция стоимости нейронной сети невыпуклая?


36

Функция стоимости нейронной сети равна J(W,b) , и она называется невыпуклой . Я не совсем понимаю, почему это так, поскольку, как я вижу, это очень похоже на функцию стоимости логистической регрессии, верно?

Если оно невыпукло, значит, производная 2-го порядка JW<0, верно?

ОБНОВИТЬ

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

Теперь больше вопросов,

1) Существует несколько локальных минимумов, и некоторые из них должны иметь одинаковое значение, поскольку они соответствуют некоторым узлам и перестановкам весов, верно?

2) Если узлы и веса вообще не будут переставляться, то они выпуклые, верно? И минимумы будут глобальными минимумами. Если это так, ответ на 1), все эти локальные минимумы будут иметь одинаковое значение, правильно?


Он невыпуклый в том смысле, что может быть несколько локальных минимумов.
gung - Восстановить Монику

2
Зависит от нейронной сети. Нейронные сети с линейными функциями активации и квадратичной потерей дадут выпуклую оптимизацию (если моя память хорошо мне подходит и для сетей с радиальными базисными функциями с фиксированными отклонениями). Однако нейронные сети в основном используются с нелинейными функциями активации (т.е. сигмоидальной), поэтому оптимизация становится невыпуклой.
Кагдас Озгенц

@ Gung, я понял вашу точку зрения, и теперь у меня есть еще вопросы, пожалуйста, смотрите мое обновление :-)
авокадо

5
На этом этапе (2 года спустя), возможно, было бы лучше откатить ваш вопрос до предыдущей версии, принять один из ответов ниже и задать новый, дополнительный вопрос, который связан с этим для контекста.
gung - Восстановить Монику

1
@ Gung, да, вы правы, но сейчас я просто не совсем уверен в некоторых аспектах ответа, который я ранее проголосовал. Ну, так как я оставил несколько новых комментариев к ответам ниже, я бы подождал некоторое время, чтобы узнать, нужно ли спрашивать новый.
авокадо

Ответы:


25

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

Чтобы сделать это аналогичным функциям с одной переменной, можно сказать, что функция стоимости не имеет форму графа и графа - x 2 . Другим примером невыпуклые, не вогнутая функция является грехом ( х ) на R . Одно из самых поразительных отличий состоит в том, что ± x 2 имеет только один экстремум, тогда как грех имеет бесконечно много максимумов и минимумов.x2x2sin(x)R±x2sin

Как это связано с нашей нейронной сетью? Функция стоимости также имеет ряд локальных максимумов и минимумов, как вы можете видеть на этом рисунке , например.J(W,b)

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


Хорошо, я понимаю объяснение перестановки, которое вы сделали, я думаю, что это имеет смысл, но теперь я задаюсь вопросом, является ли это подлинным объяснением, почему нейронная сеть не выпуклая?
авокадо

1
Что вы имеете в виду под «аутентичным»?
Роланд

Я имею в виду, это то, как это следует интерпретировать, а не просто аналогия.
авокадо

4
@loganecolss Вы правы, что это не единственная причина, по которой функции стоимости невыпуклые, а одна из самых очевидных. Зависит от сети и обучающего набора, могут быть и другие причины, по которым существует несколько минимумов. Но суть в следующем: одна перестановка создает невыпуклость, независимо от других эффектов.
Роланд

1
Извините, я не могу понять последний абзац. Но я также неправильно понимаю, почему я упомянул здесь max (0, x). В любом случае - я думаю, что правильный способ показать, что может быть несколько режимов (кратный локальный минимум) - это доказать это каким-то образом. ps Если гессиан неопределен, он ничего не сказал - квазивыпуклая функция может иметь неопределенный гессиан, но он все еще унимодален.
bruziuz

17

Если вы переставляете нейроны в скрытом слое и делаете ту же перестановку на весах соседних слоев, тогда потеря не изменится. Следовательно, если существует ненулевой глобальный минимум как функция весов, то он не может быть уникальным, так как перестановка весов дает другой минимум. Следовательно, функция не является выпуклой.


5

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

Эта статья представляет интерес:

Чороманска и соавт. (2015). Поверхности потерь многослойных сетей

http://arxiv.org/pdf/1412.0233v3.pdf

Из введения:

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

  • Вероятность нахождения «плохого» (высокого значения) локального минимума ненулевая для небольших сетей и быстро уменьшается с ростом размера сети.

  • Попытка найти глобальный минимум на тренировочном наборе (в отличие от одного из множества хороших локальных) на практике бесполезна и может привести к переоснащению.

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


4

Некоторые ответы на ваши обновления:

  1. Да, вообще есть несколько локальных минимумов. (Если бы был только один, это назвали бы глобальным минимумом.) Локальные минимумы не обязательно будут иметь одинаковое значение. Как правило, не может быть локальных минимумов, имеющих одинаковое значение.

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

yXyXβ| |


1
«однослойная сеть» - это то, на что похожа «softmax» или логистическая регрессия, верно?
авокадо

Под «перестановкой узлов и весов» я подразумеваю «обмен», и это то, что я получил из двух предыдущих ответов, и, как я понял их ответы, «меняя» узлы и веса в скрытых слоях , мы можем получить тот же результат в теории, и поэтому у нас может быть несколько минимумов. Вы имеете в виду, что это объяснение не правильно?
авокадо

У вас есть правильная идея, но это не совсем то же самое. Для сетей потеря может не обязательно быть биномиальной потерей, функции активации могут не обязательно быть сигмоидами и т. Д.
Mustafa S Eisa

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

Я вижу, поэтому, если это «однослойный», это не может быть «softmax».
Авокадо

2

У вас будет один глобальный минимум, если проблема выпуклая или квазивыпуклая.

О выпуклых «строительных блоках» при построении нейронных сетей (версия для информатики)

Я думаю, что есть несколько из них, которые можно упомянуть:

  1. max (0, x) - выпуклый и возрастающий

  2. log-sum-exp - выпуклый и растущий по каждому параметру

  3. y = Ax является аффинным и поэтому выпуклым в (A), может увеличиваться, а может уменьшаться. y = Ax является аффинным и поэтому выпуклым в (x), может увеличиваться, а может уменьшаться.

К сожалению, он не является выпуклым в (A, x), потому что выглядит как неопределенная квадратичная форма.

  1. Обычная математическая дискретная свертка (под «обычным» я подразумеваю определение с повторяющимся сигналом) Y = h * X Похоже, что это аффинная функция h или переменной X. Так что это выпуклая переменная h или переменная X. Об обеих переменных Я так не думаю, потому что, когда h и X - скаляры, свертка сведется к неопределенной квадратичной форме.

  2. max (f, g) - если f и g выпуклые, то max (f, g) также является выпуклым.

Если вы подставляете одну функцию в другую и создаете композиции, то все еще в выпуклой комнате для y = h (g (x), q (x)), но h должно быть выпуклым и увеличиваться (не уменьшаться) в каждом аргументе. ...

Почему нейронные сети в невыпуклых:

  1. Я думаю, что свертка Y = h * X не обязательно увеличивается в h. Поэтому, если вы не используете никаких дополнительных предположений о ядре, вы сразу же выйдете из выпуклой оптимизации после применения свертки. Так что не все в порядке с составом .

  2. Также свертка и умножение матриц не являются выпуклыми, если учитывать пару параметров, как указано выше. Таким образом, есть еще одна проблема с умножением матрицы: это невыпуклая операция по параметрам (A, x)

  3. y = Ax может быть квазивыпуклым в (A, x), но также следует принимать во внимание дополнительные предположения.

Пожалуйста, дайте мне знать, если вы не согласны или у вас есть дополнительные соображения. Вопрос тоже очень интересный для меня.

ps max-pooling - то, что понижающая выборка с выбором max выглядит как некоторая модификация элементарных операций max с аффинной предкомпозицией (для извлечения нужных блоков), и для меня это выглядит выпуклым.

О других вопросах

  1. Нет, логистическая регрессия не является выпуклой или вогнутой, но является лог-вогнутой. Это означает, что после применения логарифма у вас будет вогнутая функция в объясняющих переменных. Так что здесь уловка максимального правдоподобия велика.

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

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

Но кроме нейронных сетей есть еще более простые вещи, которые не могут быть решены как нелинейные наименьшие квадраты - https://youtu.be/l1X4tOoIHYo?t=2992 (EE263, L8, 50:10)

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.