Устройство для физической реализации N-слойного перцептрона

Полезная модель относится к области искусственного интеллекта. Область применения - физическая реализация нейросетей.
Широко известны нейросети, реализованные программно. В данный момент их использование ограничено необходимостью в большой вычислительной мощности для их обучения и в меньшей, хотя и значительной, вычислительной мощностью в процессе использования. Существующие аппаратные решения преимущественно цифровые, что отражается на точности, а аналоговые (например, Intel ETANN 80170NX) имеют довольно громоздкую архитектуру и не дают компактности и удобства использования.
Техническая проблема, решаемая данной полезной моделью, состоит в создании устройства, которое позволяет компактно компоновать сложные нейросети при всех преимуществах в быстродействии аналоговой системы перед цифровыми реализациями.
Заявляемая полезная модель предлагает альтернативный способ пространственного размещения модулей для реализации нейросетей. Предлагаемая схема пригодна для реализации многослойного перцептрона с любым количеством слоев.
i
i
Сущность изобретения заключается в устройстве соединения двух наложенных друг на друга слоев из искусственных нейронов, где искусственный нейрон представляет собой ядро, реализующее пороговую функцию (F) и синаптические связи (W) с выходами (X) других нейронов, т.о., что выход Y=F(Σ(X*W)) - входной и выходной. Каждый слой представляет собой набор ядер нейронов и контактов, расположенных на поверхности, обращенной к другому слою. Каждый контакт на входном слое соединен с выходом одного искусственного нейрона этого слоя, а каждый контакт на выходном слое соединен со входом одного искусственного нейрона выходного слоя. Эти контакты обоих слоев расположены таким образом, чтобы каждый выходной контакт входного слоя имел по одному пересечению с каждым входным контактом выходного слоя. В местах таких пересечений находятся аналоговые ячейки памяти, основанные, например, на полевых транзисторах с плавающим затвором. Таким образом, обеспечивается присоединение выхода каждого искусственного нейрона входного слоя ко входу каждого нейрона выходного слоя, через ячейку памяти для хранения весового коэффициента такой «синаптической» связи. Ядро искуственного нейрона представляет собой аппаратно реализованную пороговую функцию.
Пример реализации устройства представлен на фиг. 1, где а) нижняя пластина (входной слой); б) верхняя пластина (выходной слой); в) верхняя пластина на нижней (в узлах решетки, между контактными шинами - ячейки памяти на базе полевых транзисторов с плавающим затвором); г) вид сбоку.
Устройство включает ядра нейронов 1, контактные шины 2, соединения нейрона и шины 3, синапс на основе полевого транзистора с плавающим затвором 4.
Основа полезной модели - взаимодействие между двумя слоями сети, сформированных в виде прямоугольных пластин. Оба слоя аналогичны друг другу. Каждый слой сформирован из расположенных в одной плоскости рядов шин 2 и расположенных между рядами шин рядов ядер нейронов 1, одинаково отстоящих друг от друга. На нижней стороне нижней (входной) пластины и на верхней стороне верхней (выходной) пластины находятся, соответственно, входные и выходные контакты слоев, по одному на каждое ядро. Выгоднее всего размещать ядра нейронов так, как показано на схеме, но возможно и другое размещение, в зависимости от технических требований. Каждая шина соединена с выходом 3 только одного нейрона ряда. Каждая шина в длину покрывает весь ряд т.о., чтобы обеспечить однократное пересечение каждого контакта (шины) входной пластины со всеми контактами (шинами) другой пластины (см. фиг. 1).
В каждой из этих точек пересечений необходимо разместить аналоговый элемент памяти на базе полевого транзистора 4 с плавающим затвором. Управление этими транзисторами выносится в отдельный блок. С помощью этих транзисторов определяются весовые коэффициенты искусственных синаптических связей, которые можно изменять динамически.
Блок управления весовыми коэффициентами здесь не рассматривается - его функция заключается в записи значений в ячейки памяти синапсов. Его целесообразно реализовать как отдельный элемент управления, который может последовательно выбирать элементы матрицы ячеек памяти и выставлять на каждом элементе аналоговое значение весового коэффициента. Верхняя пластина в своей верхней части либо тем же образом соединяется со следующим слоем (что позволяет создавать готовые блоки с нужным количеством слоев и нейронов в рамках одного устройства), либо содержит контакты выходов (искусственных аксонов) для соединения с другим подобным блоком или для вывода информации. Таким образом, из таких элементов можно собирать вертикально и горизонтально масштабируемые структуры. Такой подход позволит более экономно использовать объем и обеспечит динамичность связей в слоях нейросети. При необходимости можно на одном и том же элементе, в зависимости от используемого блока обучения, реализовать как алгоритмы с учителем (типа обратного распространения ошибки), так и алгоримы без учителя (например, самоорганизующиеся карты Кохонена). Данная полезная модель может быть реализована как на «бутерброде» из кристаллов кремния, в виде одной интегральной цепи, так и в виде комбинированного устройства. И, если при обучении готовой нейросети выигрыш по времени будет либо небольшим, либо сомнительным, то при использовании результирующей обученной сети выигрыш по времени будет колоссальным.
Технический результат использования полезной модели состоит в том, что занимая небольшое пространство за счет использования всех трех измерений, устройство компактнее существующих аналоговых нейрочипов и позволяет получить существенно более высокое быстродействие в процессе использования чем то, что предлагает цифровая реализация таких сетей.