Нейронные сети склонны к катастрофическому забвению?

38

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

Теперь представьте, что ранее вы показали ему миллионы изображений львов и альтернативно пометили его как «опасный» и «не опасный», так что вероятность того, что лев опасен, составляет 50%.

Но эти последние 100 раз подтолкнули нейронную сеть к тому, что она очень позитивно оценивает льва как «опасного», игнорируя тем самым последний миллион уроков.

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

Существует ли модель нейронной сети, которая отслеживает, сколько доказательств она видела? (Или это будет эквивалентно уменьшению скорости обучения на 1/T где T - количество испытаний?)

zooby
источник
Я говорю о контролируемом обучении, когда пользователь сообщает NN, что лев опасен.
Zooby
Хотя это тоже случается с людьми. Действительно страшно, как легко можно «отучиться» от того, что что-то опасно, если делать это несколько раз без последствий, что примерно равно сценарию, который вы описали с ИИ.
Томаш Зато - Восстановить Монику
2
Помечено как слишком широкое. Это слишком зависит от того, какие методы распознавания используются сетью. Очевидно, что в некоторых случаях сеть «забудет», а в других - нет. Должно быть предельно ясно, что любые ответы на этот вопрос должны начинаться и заканчиваться словами «Это зависит».
8протонов
3
Честно говоря, это одна из тех сделок типа «выбери свой яд». NN, который предпочитает недавний опыт, а не исторический, склонен игнорировать прошлое, но способен реагировать на недавние события. Например, предположим, что все львы внезапно превращают человека-убийцу в одночасье, и тогда ваш NN, который одобряет недавние события, будет гораздо быстрее обнаруживать новую угрозу, в отличие от более медленного NN, которое в основном говорит, что «львы не всегда были опасны в прошлом, я сделать вывод, что ничего нового не происходит ", пока львы не будут на 100% опаснее дольше, чем вы хотели бы (и много человеческих смертей позже)
Флатер
1
Кроме того, AGI будет иметь соответствующий вес ошибки - две ошибки не одинаково плохи в результате.
MSalters

Ответы:

39

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

Есть некоторые люди, которые работают над непрерывным обучением в течение всей жизни в нейронных сетях, которые пытаются адаптировать нейронные сети к непрерывному обучению в течение всей жизни, что является способностью модели постоянно учиться из потока данных, чтобы они полностью не забыли ранее приобретенное знания при изучении новой информации. См., Например, статью « Непрерывное обучение в течение всей жизни с использованием нейронных сетей: обзор» (2019 г.), составленный Германом И. Паризи, Рональдом Кемкером, Хосе Л. Партом, Кристофером Кананом, Стефаном Вермтером, в котором обобщаются проблемы и существующие решения, связанные с катастрофическими последствиями. забыв о нейронных сетях.

nbro
источник
1
Благодарность! Я прочитаю ту газету, которую вы предлагаете.
Зоопарк
7
Была ли печально известная коррупция чат-бота Microsoft Tay примером катастрофического забвения?
Нет U
4
@TKK Я думаю, что это был бы хороший новый вопрос на сайте!
nbro
2
@TKK Ты собираешься спросить это? Если нет, может ли кто-нибудь еще сделать это? Я действительно хочу знать ответ.
wizzwizz4
3
Я почти уверен, что фраза «Есть люди, которые работают над непрерывным обучением в течение всей жизни в нейронных сетях, которые пытаются адаптировать нейронные сети для непрерывного обучения в течение всей жизни», написанные нейронной сетью.
Мойли
16

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

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

Стандартная процедура обучения будет работать так:

for e in epochs:
    shuffle dataset
    for x_batch, y_batch in dataset:
        train neural_network on x_batxh, y_batch

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

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

Djib2011
источник
4

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

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

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

pygosceles
источник
1

Чтобы ответить на ваш вопрос, я бы сказал: возможно, в теории, но не на практике.


Проблема в том, что вы рассматриваете только хронологическое / последовательное обучение.

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

Я настаиваю : в случае с этой библиотекой Woppal Wabbit, это функция, которая адаптируется в хронологическом порядке. Хотелось бы, чтобы, когда вы только начинаете говорить ему, что львы опасны, то это соответственно адаптируется.


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

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

Чтобы иметь хорошую оценку действительности вашей нейронной сети, вы берете случайное подмножество ваших тренировочных данных, короче говоря, вы берете около 80% ваших данных для обучения, а с оставшимися 20% вы оцениваете, как часто обученная нейронная сеть дает хорошие прогнозы.

И также нельзя просто уйти без перекрестной проверки из-за необходимости обнаружить переоснащение (что является еще одной проблемой).

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

Стефан Роллан
источник