kernel trick увеличивает размерность, отображая распознаваемые данные в пространство большей размерности так, чтобы в высшем пространстве отображение оказывалось по-прежнему линейно разделимым на две некомпактные области… Но никто и не спорит, методов множество и общего между ними много и, в целом, их объединяет математика — у нас одна из компиляций, а не магическое заклинание. Но это наш первый опыт статьи здесь, получилось размазано и скомкано, кажется, мы ошибочно недооценили аудиторию. В следующие разы исправимся.
Строго математически любое решение по классификации можно свести к сепарированию признакового пространства. Следует различать сепараторы, делящие это пространство на две сравнимые по объему области и, соответственно, на компактную замкнутую область и "всё остальное". Гипотезы, о которых мы говорим ограничивают компактные области (см. трехмерную визуализацию в статье), размерность которых комбинируется в ходе отбора при контроле уровня ошибок типа "ложная тревога". То есть эти гипотезы склонны пропустить цель, когда она есть, нежели детектировать её, когда нет, и это не зависит от того, что вы для них сгенерируете: сгенерируете "3" — либо распознают, либо нет, сгенерируете абракадабру — ничего не произойдет.
Видимо, мы должны сказать, что класс «не знаю» — это наше вольное упрощение из проблематики в распознавании образов известной как Open Set Recognition. Посмотреть можно, например, здесь: arxiv.org/pdf/1511.06233.pdf
Если вы про положение цифры на картинке, то в узком смысле — да, не способен. С другой стороны, это повод для дискуссии об установлении инвариантности. Насколько в том или ином случае она интринсивна или определена внешним правилом?
Не всё так просто. Реакция сетей на "внезадачные" классы связана, в первую очередь, с их логической неполнотой в пользу достаточности решения в конкретной задаче, и чем больше такая неполнота, тем менее дифференцированы классы, а "не знаю" шире. В нашем же примере с овощами это можно видеть: для различения классов помидоров и огурцов достаточно одного линейного сепаратора (нейрона), но он при этом будет реагировать и на многие другие объекты, находящиеся по ту или иную сторону от решающей границы. Добавление второго сепаратора и, вместе с ним, слоя, как и показано в примере, усложняет разбиения пространства, увеличивает логическую полноту и сужает класс "не знаю". В мультиклассовых и многомерных случаях логическая полнота отбрасывается в практических целях и ищется достаточное, но не необходимое решение. Именно поэтому существует это предписание не использовать сеть, обученную на одном датасете, на другом — из-за высокой вероятности возникновения ошибки типа "ложная тревога". И да! это не причина, а следствие.
Получается, что так. Мы обкатали классическую персептронную сеть с 2-мя скрытыми слоями как это и положено на MNIST: обучили на тренировочном множестве, проверили на тестовом. А потом подали на вход технически идентичные, но содержащие другие образы изображения, отдельные результаты чего и показаны в тексте. Так мы, собственно, ещё раз указали на, возможно и спорный, но недостаток сепарационного подхода к классификации с обучением по методу спуска — локальность получаемого решения, его непереносимость. Схожее по причинам поведение описывается здесь https://m.habr.com/ru/post/225095/ (там же есть и ссылка на оригинальную работу). Разработанная нами сеть вообще не склонна реагировать на "что-то не то", и в статье мы постарались указать на объективность получаемых ею решений.
С работами Резодубова не знакомы, скорее за основу брались упомянутые выше в комментариях сети Кохонена и идеи, положенные в их основу. И, да, в общих чертах вы правы. Есть несколько заметных отличий: во-первых, разбиение пространства происходит без какой-либо комбинаторной случайности, а по непосредственному захвату шаблонов из обучающих входных данных, во-вторых, мы рассматриваем, скорее, не подпространства, но области, если угодно, окрестности значащих точек как в сетях Кохонена, и, в-третьих, отбор идет не на уменьшение количества гипотез, а на увеличение (можно позволить себе аналогию с развитием многообразия видов в эволюции животного мира).
kernel trick увеличивает размерность, отображая распознаваемые данные в пространство большей размерности так, чтобы в высшем пространстве отображение оказывалось по-прежнему линейно разделимым на две некомпактные области… Но никто и не спорит, методов множество и общего между ними много и, в целом, их объединяет математика — у нас одна из компиляций, а не магическое заклинание. Но это наш первый опыт статьи здесь, получилось размазано и скомкано, кажется, мы ошибочно недооценили аудиторию. В следующие разы исправимся.
Строго математически любое решение по классификации можно свести к сепарированию признакового пространства. Следует различать сепараторы, делящие это пространство на две сравнимые по объему области и, соответственно, на компактную замкнутую область и "всё остальное". Гипотезы, о которых мы говорим ограничивают компактные области (см. трехмерную визуализацию в статье), размерность которых комбинируется в ходе отбора при контроле уровня ошибок типа "ложная тревога". То есть эти гипотезы склонны пропустить цель, когда она есть, нежели детектировать её, когда нет, и это не зависит от того, что вы для них сгенерируете: сгенерируете "3" — либо распознают, либо нет, сгенерируете абракадабру — ничего не произойдет.
Если вы про положение цифры на картинке, то в узком смысле — да, не способен. С другой стороны, это повод для дискуссии об установлении инвариантности. Насколько в том или ином случае она интринсивна или определена внешним правилом?
Не всё так просто. Реакция сетей на "внезадачные" классы связана, в первую очередь, с их логической неполнотой в пользу достаточности решения в конкретной задаче, и чем больше такая неполнота, тем менее дифференцированы классы, а "не знаю" шире. В нашем же примере с овощами это можно видеть: для различения классов помидоров и огурцов достаточно одного линейного сепаратора (нейрона), но он при этом будет реагировать и на многие другие объекты, находящиеся по ту или иную сторону от решающей границы. Добавление второго сепаратора и, вместе с ним, слоя, как и показано в примере, усложняет разбиения пространства, увеличивает логическую полноту и сужает класс "не знаю". В мультиклассовых и многомерных случаях логическая полнота отбрасывается в практических целях и ищется достаточное, но не необходимое решение. Именно поэтому существует это предписание не использовать сеть, обученную на одном датасете, на другом — из-за высокой вероятности возникновения ошибки типа "ложная тревога". И да! это не причина, а следствие.
Что есть, то есть!
Получается, что так. Мы обкатали классическую персептронную сеть с 2-мя скрытыми слоями как это и положено на MNIST: обучили на тренировочном множестве, проверили на тестовом. А потом подали на вход технически идентичные, но содержащие другие образы изображения, отдельные результаты чего и показаны в тексте. Так мы, собственно, ещё раз указали на, возможно и спорный, но недостаток сепарационного подхода к классификации с обучением по методу спуска — локальность получаемого решения, его непереносимость. Схожее по причинам поведение описывается здесь https://m.habr.com/ru/post/225095/ (там же есть и ссылка на оригинальную работу). Разработанная нами сеть вообще не склонна реагировать на "что-то не то", и в статье мы постарались указать на объективность получаемых ею решений.
С работами Резодубова не знакомы, скорее за основу брались упомянутые выше в комментариях сети Кохонена и идеи, положенные в их основу. И, да, в общих чертах вы правы. Есть несколько заметных отличий: во-первых, разбиение пространства происходит без какой-либо комбинаторной случайности, а по непосредственному захвату шаблонов из обучающих входных данных, во-вторых, мы рассматриваем, скорее, не подпространства, но области, если угодно, окрестности значащих точек как в сетях Кохонена, и, в-третьих, отбор идет не на уменьшение количества гипотез, а на увеличение (можно позволить себе аналогию с развитием многообразия видов в эволюции животного мира).
1)