Использование нейронной сети для распознавания паттернов в матрицах


10

Я пытаюсь разработать нейронную сеть, которая может идентифицировать конструктивные особенности в моделях САПР (то есть слоты, боссы, дыры, карманы, ступени).

Входными данными, которые я собираюсь использовать для сети, является матрица тревожных сигналов (где n - количество граней в модели CAD). «1» в верхнем правом треугольнике в матрице представляет выпуклое отношение между двумя гранями, а «1» в нижнем левом треугольнике представляет вогнутое отношение. Ноль в обоих положениях означает, что грани не являются смежными. На рисунке ниже приведен пример такой матрицы. введите описание изображения здесь

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

Я хочу иметь возможность распознавать 5 различных конструктивных особенностей и, следовательно, иметь 5 выходных нейронов - [слот, карман, отверстие, босс, шаг]

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

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


1
Это выглядит действительно интересно. Но о каком треугольнике ты говоришь? Вы можете нарисовать это для ясности?
FelicityC

Ответы:


1

Буду ли я прав, говоря, что это становится своего рода проблемой «распознавания образов»?

Технически да. На практике: нет.

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

Например, вы говорите, что

«1» в верхнем правом треугольнике в матрице представляет выпуклое отношение между двумя гранями, а «1» в нижнем левом треугольнике представляет вогнутое соотношение

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

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

При этом, вы можете использовать распознавание образов по этой проблеме. Тем не менее, это кажется излишним в этом случае. Ваша проблема, насколько я понимаю, имеет реальное «аналитическое» решение. То есть: по логике вы можете получить 100% правильный результат все время. Алгоритмы машинного обучения, теоретически, также могут делать это, и в этом случае, и эта ветвь ML называется метамоделированием [1].

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

Одним словом: возможно. Лучший способ пойти? Возможно нет. Почему нет, спросите вы?

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

Я также не согласен с @Bitzel: я бы не делал CNN (сверточная нейронная сеть) по этому поводу. CNN используются, когда вы хотите посмотреть на определенные части матрицы, а связь и связность между пикселями важны - например, для изображений. Поскольку у вас есть только 1 и 0, я сильно подозреваю, что CNN будет чрезмерно излишним. И при всей редкости (много нулей) у вас будет много нулей в свертках.

Я бы на самом деле предложил простую ванильную (прямую) нейронную сеть, которая, несмотря на скудность, думаю, сможет довольно легко выполнить эту классификацию.


1
Очень подробный ответ. Одна короткая версия состоит в том, что для вопросов, которые имеют аналитическое решение, ML обычно не правильный подход.
Амриндер Арора

0

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


0

Проблема

Данные обучения для предложенной системы следующие.

  • Булева матрица, представляющая смежность поверхности твердого геометрического проекта
  • Также в матрице представлено различие между внутренним и внешним углами ребер
  • Ярлыки (описаны ниже)

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

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

  • Один или несколько слотов
  • Один или несколько боссов
  • Одно или несколько отверстий
  • Один или несколько карманов
  • Один или несколько шагов

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

Возможные предостережения в подходе

В этом подходе есть картографические несоответствия. Они попадают примерно в одну из четырех категорий.

  • Неоднозначность, создаваемая путем сопоставления топологии в модели САПР с матрицей - сплошная геометрия, первичная не охваченная в предлагаемом матричном кодировании
  • Модели САПР, для которых не существует матрицы - случаи, когда ребра меняются от внутренних к внешним углам или возникают из-за кривизны
  • Неоднозначность в идентификации признаков из матрицы - совпадение между признаками, которые могут идентифицировать образец в матрице
  • Матрицы, описывающие функции, которых нет среди пяти - это может стать проблемой потери данных в процессе разработки

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

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

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

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

Считая количество и уверенность как результат

[0.0,1,0]

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

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

  • Логическое указание на существование
  • Неотрицательное целое число, указывающее количество экземпляров
  • Логическая и реальная достоверность одного или нескольких экземпляров
  • Неотрицательное целое число, представляющее наиболее вероятное количество экземпляров и реальную достоверность одного или нескольких экземпляров
  • Неотрицательное реальное среднее и стандартное отклонение

Распознавание образов или что?

еИксY

е(Икс)Y

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

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

осуществимость

Научится ли сеть отображать матрицы в [массив] логических [индикаторов] конструктивных особенностей?

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

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