Використання нейронної мережі для розпізнавання шаблонів у матрицях


10

Я намагаюся розробити нейронну мережу, яка може визначити особливості дизайну в моделях CAD (тобто слоти, боси, отвори, кишені, сходинки).

Вхідними даними, які я маю намір використовувати для мережі, є матриця anxn (де 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 зазвичай не є правильним підходом.
Amrinder Arora

0

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


0

Проблема

Дані про навчання для запропонованої системи є наступними.

  • Булева матриця, що представляє суміжність поверхні суцільного геометричного дизайну
  • Також у матриці представлена ​​диференціація між внутрішнім та зовнішнім кутами ребер
  • Мітки (описано нижче)

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

Запропонований вихід запропонованої підготовленої системи - булівський масив, що вказує на наявність конкретних суцільних геометричних особливостей конструкції.

  • Один або кілька слотів
  • Один або кілька начальників
  • Одне або кілька отворів
  • Один або кілька кишень
  • Один або кілька кроків

Цей масив булевих значень також використовується як мітки для тренувань.

Можливі застереження в підході

У цьому підході є відображення невідповідностей. Вони підпадають приблизно до однієї з чотирьох категорій.

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

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

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

Ці можливі застереження можуть або не можуть викликати занепокоєння щодо проекту, визначеного у питанні.

Встановлення розміру обличчя врівноважує ефективність та надійність, але обмежує зручність використання. Можливо, існують підходи, що використовують один із варіантів RNN, який може дозволити охоплення довільних розмірів моделей без шкоди для ефективності для простих геометрій. Такий підхід може включати виведення матриці як послідовність для кожного прикладу, застосовуючи добре задуману стратегію нормалізації до кожної матриці. Прокладка може бути ефективною, якщо немає жорстких обмежень щодо ефективності тренувань і існує практичний максимум для кількості облич.

Розглядаючи кількість та визначеність як вихід

[0,0,1,0]

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

Це призводить до врахування п’яти реалістичних перестановок, які можуть бути вироблені навченою мережею для кожної функції кожної суцільної моделі геометрії.

  • Булева вказує на існування
  • Невід’ємне ціле число, що вказує на кількість екземплярів
  • Булева та реальна визначеність одного чи кількох екземплярів
  • Невід'ємне ціле число, що представляє найбільш ймовірний кількість екземплярів та реальну визначеність одного або декількох екземплярів
  • Реальне середнє відхилення та стандартне відхилення

Розпізнавання шаблону чи що?

fХY

f(Х)Y

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

У світовій теорії інформації існує розмиття відмінності між розпізнаванням візерунків та функціональним наближенням, як це повинно бути в цій концептуальній абстракції ІІ вищого рівня.

Технічність

Чи зможе мережа навчитися відображати матриці на [масив] булевих [показників] особливостей дизайну?

Якщо вищезазначені застереження є прийнятними для зацікавлених сторін проекту, приклади добре позначені та надані в достатній кількості, а нормалізація даних, функція втрат, гіперпараметри та розташування шарів налаштовані добре, ймовірно, конвергенція відбудеться протягом навчання та розумна автоматизована система ідентифікації функцій. Знову ж, її зручність залежала від нових суцільних геометрій, що були виведені з класу концепцій, як навчальні приклади. Надійність системи залежить від того, щоб навчання було репрезентативним для випадків подальшого використання.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.