Скачкообразное изменение в машинном обучении

10

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

sdream
источник

Ответы:

7

Добро пожаловать в DataScience.SE! Я никогда не слышал об этой проблеме, поэтому я посмотрел ее. Это объясняется на третьем слайде этой презентации Джеффом Хинтоном:

Больше вещей, которые мешают распознавать объекты

• Изменения в точке зрения вызывают изменения в изображениях, с которыми не справляются стандартные методы обучения.

- Информационные скачки между входными размерами (то есть пикселями)

• Представьте себе медицинскую базу данных, в которой возраст пациента иногда переходит к входному измерению, которое обычно кодирует вес!

- Чтобы применить машинное обучение, мы сначала хотели бы устранить этот скачок в измерениях.

Другими словами, речь идет о концептуальных объектах, которые перемещаются или переключаются из одного входного измерения объекта в другое, все еще представляя одну и ту же вещь. Хотелось бы иметь возможность захватывать или извлекать суть объекта, оставаясь неизменным, к какому входному измерению он относится.

Эмре
источник
Я понимаю, что в Computer Vision каждый хочет быть инвариантным для мест на изображении, но я не понимаю пример возраста.
Мартин Тома
Я понял, что возраст и вес зависят, но я не уверен; это не моя презентация! Или, возможно, они имели в виду, что они буквально используют неправильный столбец, и мы хотим это обнаружить.
Эмре
@sdream Я только сделал комментарий; Эмре дал ответ. (Но вы, вероятно, должны все еще принять это). Суть CNN заключается в том, что не только одна особенность изменяется, когда объект находится где-то еще, но и полный шаблон находится на другом входе.
Мартин Тома
@ Эмре, что я получаю из вашего ответа, так это то, что независимо от того, в каком направлении вводится определенное свойство, функция, вызываемая этим конкретным свойством, должна быть неизменной по отношению к входному измерению этого свойства. Спасибо! :). Все еще жду некоторых более конкретных ответов, в противном случае отметим ваш ответ как ответ.
sdream
3
Предполагается, что пример возраста выделяет набор данных, который не имеет скачкообразного изменения размеров. Возраст и вес не «перепрыгивают» и не меняют значения случайным образом между примерами - они не являются взаимозаменяемыми, и пример показывает, насколько странным это будет (и насколько сложно будет выполнять простые задачи, такие как линейная регрессия). Пиксельные значения в изображениях (и аналогичные данные во многих задачах обработки сигналов) легко меняются или перемещаются из-за характера проблемы.
Нил Слэйтер
7

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

Является ли пиксель 140 черным или 142 черным? В обоих случаях вполне может быть три. В примере возраста / веса эти входные данные четко определены. Особенность 2 - вес. Особенность 3 - возраст. Эти «измерения» не должны «прыгать» в вашем наборе данных.

Итак: при обучении вашей картине «тройки», «машины» или «дома» должны распознаваться независимо от их расположения на картинке, то есть значений пикселей, т.е. вектора объекта / входа, то есть размеров, а не четко определенных входные данные, такие как данные пациента.

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

Д. Эггерт
источник
2

Я прочитал предыдущие ответы, и комментарий Нила Слейтера к посту Эмре, снова скопированный ниже, поражает гвоздь. «Прыжки в измерениях» - это термин, созданный доктором Хинтоном для пионера машинного обучения в контексте точки зрения. Цитата доктора Хинтона: «Итак, обычно представьте, что входные размеры соответствуют пикселям, и, если объект движется в мире, а вы не двигаете глазами, чтобы следовать за ним, информация об объекте будет появляться в разных пикселях». Возраст и вес являются входным измерением, которое не легко спутать. Д-р Хинтон использовал эту, очевидно, маловероятную ситуацию со скачкообразным изменением размера и веса пациентов, чтобы обозначить, что мы, безусловно, сможем обнаружить и исправить любые ошибки между этими типами данных (трудно не заметить, что большинство взрослых моложе 100 лет и старше). чем 100 фунтов). Вероятная проблема скачкообразного изменения размеров, к которой обращался доктор Хинтон, заключается в том, что пиксели могут быть смещены, потому что у нас другая точка обзора (например, объект мог сместиться или мы смотрим на него под другим углом). Линейные нейронные сети не смогут обнаружить это, в то время как сверточные нейронные сети по своему дизайну это сделают.

«Предполагается, что в примере возраста выделен набор данных, который не имеет скачкообразного изменения размеров. Возраст и вес не« прыгают »и не меняют значения случайным образом между примерами - они не являются взаимозаменяемыми, и пример показывает, насколько странным это будет (и как Трудно было бы сделать простые задачи, такие как линейная регрессия.) Значения пикселей на изображениях (и аналогичные данные во многих задачах по обработке сигналов) взаимозаменяемы или легко перемещаются из-за характера проблемы - Нил Слэйтер, 29 мая '16 в 18:01 "

Enthused
источник
1

Объяснение прямо из курса Хинтона «Нейронные сети для машинного обучения ...

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

yottabytt
источник
0

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

Эта проблема имеет дело с инвариантностью или эквивалентностью и выглядит как пример веса и возраста. Предположим, если бы мы знали об этом изменении веса и возраста, мы бы легко внесли изменения в алгоритм и получили правильный результат. Но подобно скачкам данных / информации также происходит скачкообразное изменение изображения, если мы считаем, что «4» и «4» смещены на несколько пикселей влево, чтобы быть разными классами, которые имеют разные цели.

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

Пожалуйста, дайте мне знать, если вам нужно больше ясности, я постараюсь.

Pradi KL
источник