HPE Russia продолжает работать в штатном режиме
8 (800) 551-25-66

Самообучающаяся схема памяти

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

Ранее проведенные исследования показали, что такие устройства памяти хорошо справляются с множеством сложнейших задач, повышающих темпы машинного обучения. Простота вычислений обеспечивается в результате новой концепции схем, которые поддерживают анализ различных типов проблем. Аналоговая матрица реализована в произвольном и компактном варианте. Исследования показали, что по законам физики допустимо использовать ток-напряжение, и такие устройства могут эффективно реализовывать прямое умножение матрицы на вектор, подобное тому, что использовано в прошлой версии Dot Product Engine (DPE) с устройствами ReRAM (мемристор).

Самообучающаяся схема памяти

Запоминающие устройства с адресацией по содержимому (CAM) предназначено для поиска слов внутри памяти. CAM применяется в различных областях, где важен быстрый поиск, например, в сетях и безопасности. Принцип отличается от традиционных запоминающих устройств с произвольным доступом (RAM), CAM получает данные (запрос) в качестве входных данных и сравнивает их с каждым сохраненным словом (ключом), возвращая совпадение («1» на выходе), только если запрос равен ключу. В классическом варианте CAM соединяются с RAM, для связи данных на входе с другой частью информации, а сопоставление, созданное CAM, извлекает необходимый перечень данных из массива RAM. Сочетание возможностей двух данных устройств эффективно формирует имитацию «ассоциативной памяти», которая работает аналогично процессам, происходящим в мозгу, где более крупные воспоминания и переживания извлекаются из небольшого фрагмента данных, например таких, как запах или звук из нашего детства. В то же время, цифровые CAM-схемы — это несколько другой принцип воспоминаний: если данные есть в наличии, то они будут найдены.

Последняя версия аналоговой CAM, которую совсем недавно презентовали в Hewlett Packard Labs была разработана на базе ReRAM (мемристорах), которая дает возможность искать аналоговое значение, попадающее в определенный диапазон, и выдает соответствующий цифровой результат (вариантом может быть несоответствие ни одному диапазону, но если они есть, то они будут найдены). У аналоговой CAM есть ряд существенных преимуществ и практических применений, но она не предполагает возможностей к обучению, а значит, ее нельзя использовать, как искусственную ассоциативную память, и реализовывать алгоритмы обучения нейронных сетей. Чаще всего применяется в нейронной сети метод обучения, который можно назвать «обратным распространением», то есть сравнивается вывод модели с признанной истиной (например, сравнение с изображением) и распространении отличий в результатах сравнения обратно на полученные данные, что и формирует новую структуру сети.

Необходимым условием для этой операции является большое количество данных и постоянное поступление новых данных для развития модели, а это означает, что данные для ввода/вывода должны быть непрерывными. Основная идея заключается в том, что CAM, который применяется в качестве нейронной сети, предполагает обратное распространение, следовательно, должен иметь возможность строить ассоциативные выводы непосредственно из входящих данных. К сожалению, аналоговый CAM, использующий бинарные коды для выявления совпадения/несоответствия предложенных к анализу значений, не является дифференцируемым, то есть его невозможно использовать в качестве строительного блока для алгоритма обучения на основе обратного распространения и выявления ошибок. Исследования компании показали, что несложная модификация аналоговой схемы CAM позволила создать дифференцируемую CAM (dCAM) с непрерывной связью между входом и выходом. Это позволяет использовать новую ячейку для обучения посредством обратного распространения данных и другие известные методы.

Это важное открытие, которое можно применять в самых разных сферах. В частности, у dCAM значительно выше производительность по сравнению с aCAM, которая имеет аналогичную конструкцию и емкость для хранения данных. Фактически, при производстве чипов может быть несколько вариаций и недостатков, связанных с микроэлектронным процессом. Это ограничивает возможности аналоговых операций, что напрямую влияет на количество шаблонов, которые может хранить aCAM/dCAM. Программируя dCAM и находя аналоговый выход, можно вычислить ошибку, тем самым находя варианты ее решения, а проводимость аналогового мемристора позволяет обновлять базу данных на будущее для компенсации таких ошибок, увеличивая производительность и плотность памяти. В другом случае, таже схема умеет выполнять булеву оптимизацию, иначе говоря, NP-полную задачу, которая лежит в основе важных приложений (таких, как формальная проверка планирования) с эффективными способами решения поставленных задач и масштабированием используемых ресурсов под размер поставленной задачи. В такой ситуации dCAM сохраняет результаты, а входные данные, которые удовлетворяют установленным критериям, анализируются с использованием стохастических подходов.

По мнению специалистов Hewlett Packard Labs, это только начало исследования значительного потенциала возможностей dCAM. В том числе, dCAM допускается объединять с другими нейроморфными блоками в целях разработки полностью дифференцируемых вычислительных систем, способных выполнять сложные задачи без предварительных данных или необходимости сложного программирования. Гибридная память, которая может в результате обучения стать более похожей на DPE, или CAM может модифицировать свои функции в зависимости от рабочей нагрузки. Те же преобразования, которые произошли с программным обеспечением и моделированием с использованием ИИ могут произойти с вычислительными системами и аппаратным обеспечением, когда ИИ спроектирует и оптимизирует схемы и архитектуру системы. Это подчиняется установленным правилам обучения ИИ и служит для выполнения эффективных вычислений.