Модульные / множественные нейронные сети (MNN) вращаются вокруг обучения небольших независимых сетей, которые могут взаимодействовать друг с другом или другой более высокой сетью.
В принципе, иерархическая организация может позволить нам разобраться в более сложных проблемных пространствах и достичь более высокой функциональности, но, кажется, трудно найти примеры конкретных исследований, проведенных в прошлом по этому вопросу. Я нашел несколько источников:
https://en.wikipedia.org/wiki/Modular_neural_network
https://www.teco.edu/~albrecht/neuro/html/node32.html
https://vtechworks.lib.vt.edu/bitstream/handle/10919/27998/etd.pdf?sequence=1&isAllowed=y
У меня есть несколько конкретных вопросов:
Было ли какое-либо недавнее исследование использования MNNs?
Есть ли задачи, в которых MNN показали лучшую производительность, чем большие одиночные сети?
Могут ли MNN использоваться для мультимодальной классификации, т. Е. Обучать каждую сеть на принципиально различном типе данных (текст или изображение) и передавать информацию посреднику более высокого уровня, который работает со всеми выходами?
С точки зрения разработки программного обеспечения, не являются ли они более отказоустойчивыми и легко изолируемыми в распределенной системе?
Была ли какая-либо работа по динамической адаптации топологий подсетей с использованием такого процесса, как поиск нейронной архитектуры?
Вообще, практичны ли MNN в любом случае?
Извиняюсь, если эти вопросы кажутся наивными, я только что вошел в ML и более широко CS из биологии / нейробиологии и очарован потенциальным взаимодействием.
Я действительно ценю то, что вы нашли время и поделились своим мнением!
источник
Ответы:
По этой теме действительно ведется расследование. В первой публикации от прошлого марта отмечалось, что модульность была сделана, хотя и не явно, с некоторого времени назад, но каким-то образом обучение продолжает оставаться монолитным. Эта статья оценивает некоторые основные вопросы по этому вопросу и сравнивает время обучения и производительность в модульных и сильно повторяющихся нейронных сетях. Видеть:
Некоторые другие очень сосредоточены на модульности, но остаются с монолитным обучением (см . Исследование Джейкоба Андреа , особенно « Обучение разуму» очень связано с вашим третьим вопросом). Где-то между концом 2019 и мартом следующего года должно быть больше результатов (я знаю, что).
В связи с вашими двумя последними вопросами, мы начинаем видеть, что модульность является основным ключом к обобщению. Позвольте мне порекомендовать вам несколько статей (вы можете найти их все в arxiv или google scholar):
Стохастическая адаптивная нейронная архитектура Поиск ключевых слов (варианты архитектуры для баланса производительности и использования ресурсов).
Заставить архитектуры нейронного программирования обобщать с помощью рекурсии (они выполняют субмодульность задач, и я считаю, что это первый раз, когда обобщение гарантируется в области нейронных сетей).
Освоение игры Go с глубокими нейронными сетями и поиском по дереву (топология сети на самом деле является самим деревом поиска, вы можете увидеть больше этого, если посмотрите на графические нейронные сети).
источник
Сравнительное сравнение систем, состоящих из отдельно обученных сетей относительно более глубоких сетей, вряд ли выявит универсально применимый лучший выбор. 1 В литературе можно увидеть увеличение числа более крупных систем, в которых объединены несколько искусственных сетей, а также другие типы компонентов. Этого следовало ожидать. Модульность по мере того, как системы усложняются, а требования к производительности и возможностям возрастают так же стара, как и индустриализация.
Наша лаборатория работает с роботизированным управлением, термодинамическими приборами и анализом данных, искусственные сети являются компонентами в этих больших системных контекстах. у нас нет ни одного MLP или RNN, которые сами по себе выполняют какую-либо полезную функцию.
Вопреки предположениям об иерархиях десятилетия назад, топологический подход, который, кажется, хорошо работает в большинстве случаев, следует за более распространенными взаимосвязями системных модулей, которые наблюдаются на электростанциях, автоматизированных заводах, в аэронавтике, корпоративных информационных архитектурах и других сложных инженерных разработках. Это соединения потока, и если они хорошо спроектированы, функции надзора минимальны. Поток происходит между модулями, включающими протоколы для связи, и каждый модуль хорошо выполняет свою функцию, инкапсулируя более низкий уровень сложности и функциональные детали. Не одна сеть, контролирующая другую, кажется наиболее эффективной в реальной практике, но баланс и симбиоз. Идентификация четкого замысла хозяин-раб в человеческом мозге кажется такой же скользкой.
Сложность заключается не в поиске информационных путей, составляющих системную информационную топологию. Поток информации часто очевиден при анализе проблемы. Трудность заключается в том, чтобы найти лучшие стратегии для обучения этих независимых сетей. Тренировочные зависимости являются общими и часто критическими, тогда как у животных тренировка происходит на месте или не происходит вообще. Мы открываем условия, при которых такое обучение в наших системах является практичным, и как этого добиться. Большая часть наших исследований в этом направлении направлена на то, чтобы найти пути достижения более высокой надежности и снижения нагрузки с точки зрения количества часов, затраченных на его получение.
Более высокая функциональность не всегда приносит пользу. Это часто приводит к снижению надежности и потребляет дополнительные ресурсы разработки с небольшой отдачей. Найдите способ объединить автоматизацию более высокого уровня, экономию ресурсов и надежность в одном процессе разработки, и вы можете получить награду и почетную награду в Интернете.
Параллельные системы, имеющие одну и ту же цель, - это хорошая идея, но не новая. В одной системе аэронавтики девять параллельных систем имеют одну и ту же цель в группах по три. Каждая группа использует свой вычислительный подход. Если две системы, использующие один и тот же подход, обеспечивают одинаковый выходной сигнал, а третий отличается, совпадающий выходной сигнал используется, а разница в третьем сообщается как системная ошибка. Если два из разных подходов дают схожие результаты, а третий существенно отличается, используется объединение двух схожих результатов, а третий сообщается как вариант использования для дальнейшей разработки несогласного подхода.
У повышенной отказоустойчивости есть стоимость, еще восемь систем и связанных с ними вычислительных ресурсов и возможностей подключения, а также компараторы в хвосте, но в системах, которые являются вопросом жизни и смерти, дополнительные расходы оплачиваются, а надежность повышается до максимума.
Динамическая топологическая адаптация связана с избыточными системами и отказоустойчивостью, но в некоторых отношениях весьма различна. В этой области развития технология, которой следует следовать, - это нейроморфные вычисления, которые частично вдохновлены нейропластичностью.
Последнее различие, которое следует учитывать, - это топология процесса, топология данных и аппаратная топология. Эти три геометрических кадра могут обеспечить большую эффективность вместе, если выровнены особым образом, которые производят более прямые отображения между отношениями между потоком, представлением и механикой. Это, однако, разные топологии. Смысл выравнивания может быть не очевиден без глубокого погружения в эти концепции и детали, которые появляются для конкретных целей продукта или услуги.
Сноски
[1] Глубокие сети, которые обучаются как единое целое и функционируют без подключения к другим искусственным сетям, не обязательно являются монолитными. Большинство практических глубоких сетей имеют гетерогенную последовательность слоев с точки зрения их функций активации и часто типов ячеек.
источник