Обученная многослойная фазовая маска (классификатор рукописных символов). Справа показана физическая модель оптической нейросети D?NN, напечатанная на 3D-принтере: слои 8?8 см с расстоянием 3 см друг между другом

Группа исследователей из Калифорнийского университета в Лос-Анджелесе разработала новый тип нейронной сети, которая в работе использует свет вместо электричества. В журнале Science опубликована статья с описанием идеи, рабочего устройства, его производительности и типов приложений, которые, по их авторов, хорошо вычислять в нейросети нового типа.

Полностью оптический фреймворк глубокого обучения Diffractive Deep Neural Network (D?NN), который физически сформирован из множества отражающих или прозрачных поверхностей. Эти поверхности работают сообща, выполняя произвольную функцию, усвоенную в результате обучения. В то время как получение результата и прогнозирование в физической сети организовано полностью оптически, обучающая часть с проектированием структуры отражающих поверхностей рассчитывается на компьютере.

Итак, в физической модели D?NN состоит из нескольких отражающих или прозрачных слоёв. На этих слоях каждая точка или пропускает, или отражает входящую волну. Таким образом, эта точка представляет собой искусственный нейрон, который соединён с нейронами следующих слоев через оптическую дифракцию. Структура D?NN показана на иллюстрации.


Дифракционная глубокая нейронная сеть (Diffractive Deep Neural Network, D?NN).

На иллюстрации А — схема из нескольких прозрачных/отражающих слоёв, где каждая точка представляет собой нейрон со сложным коэффициентом прозрачности или отражения. Эти коэффициенты выводятся путём глубокого обучения. После фазы обучения дизайн D?NN фиксируется — и на 3D-принтере печатаются соответствующие пластины, которые осуществляют вычисления по функции, полученной в результате предварительного обучения. В отличие от электронных компьютерных сетей, здесь вычисления осуществляются со скоростью света.

В ходе экспериментов учёные обучили и экспериментально опробовали несколько типов D?NN. На иллюстрации В показан классификатор рукописных символов, на иллюстрации С — линза (imaging lens).

В нижней части иллюстрации сравнивается работа дифракционной оптической нейросети (слева) и электронной нейросети (справа). Основываясь на когерентных волнах, D?NN работает с комплексными значениями на входе и мультипликативным смещением. Веса в D?NN основаны на дифракции в свободном пространстве и определяют когерентную интерференцию вторичных волн, которые являются фазой и/или амплитудой, смодулированной предыдущими слоями. Символ "?" означает операцию произведения Адамара, то есть поразрядное логическое умножение соответствующих членов двух последовательностей равной длины.

Исследователи объясняют, что структура оптической нейросети организована по принципу Гюйгенса, в соответствии с которым каждый элемент волнового фронта можно рассматривать как центр вторичного возмущения, порождающего вторичные сферические волны, а результирующее световое поле в каждой точке пространства будет определяться интерференцией этих волн. Таким образом, искусственный нейрон в D?NN соединён с другими нейронами следующего слоя через вторичную волну, которая модулируется по амплитуде и фазе как входной интерференционной картиной, созданной более ранними слоями, так и локальным коэффициентом передачи/отражения в этой точке.

По аналогии со стандартными глубокими нейросетями можно рассматривать коэффициент передачи/отражения каждой точки/нейрона как мультипликативный термин «смещение» (bias), который итеративно корректируется в процессе обучения дифракционной сети, используя метод обратного распространения ошибки. После численного обучения конструкция D2NN фиксируется и определяются коэффициенты передачи/отражения нейронов всех слоев. Затем можно изготовить рассчитанные слои любым методом: 3D-печать, литография и т. д.

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

Для проверки идеи исследователи сделали нейросеть, способную распознавать цифры от нуля до девяти — и сообщать результат. После обучения на 55 000 изображений чисел распечатанная семислойная нейросеть показала точность 93,39%.



В распознавании модной одежды и обуви пятислойная нейросеть показала точность 81,13%, десятислойная — 86,60%.



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

Научная статья опубликована 26 июля 2018 года в журнале Science (doi: 10.1126/science.aat8084, pdf).

Комментарии (30)


  1. Sirion
    31.07.2018 22:28
    +5

    А можно такую же нейросеть, но только в формате очков и чтобы она из изображения одетой девушки пыталась получить изображение её же обнажённой?


    1. artemev
      31.07.2018 22:42
      +1

      Что на порнхабе забанили? :)


      1. Sirion
        31.07.2018 23:15

        Порнхаб порнхабом, но и про детские мечты нельзя забывать)


    1. scifinder
      01.08.2018 05:24

      Говорят, для этих целей существует акустическая нейросеть, которая при приближении к девушке человеческим голосом просит её раздеться.


      1. DmitriyDev
        01.08.2018 08:27
        +4

        За такую нейросеть и компьютер могут принудительно перезагрузить. Небезопасно это. Очки как-то безопасней.


        1. scifinder
          01.08.2018 12:29

          Зато очки могут вызвать привыкание. А акустика — вряд ли, особенно под угрозой хард ресета.


  1. artemev
    31.07.2018 22:41

    Очень крутая штука. Думаю много где найдет свое применение. Например, можно эдакий FaceID замутить.


  1. smer44
    01.08.2018 00:58
    +1

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


    1. basilbasilbasil
      01.08.2018 01:58

      ЖК-сетка


    1. enclis
      01.08.2018 12:07

      Вот наверное наиболее свежая статья, реализовано ещё в прошлом году.


  1. ihormihal
    01.08.2018 11:23

    Очень интересная работа! Кстати, 3D печать далеко не лучший вариант создания слоев. Взять, к примеру, запись голограмм на фотопластинки. Там огромное разрешение, в фотослое фиксируются стоячие волны. Осталось разработать методы оптического обучения.


  1. enclis
    01.08.2018 11:53
    +2

    Это далеко не первая оптическая нейронная сеть. Первые попытки реализации оптической нейронной сети при использовании пространственных модуляторов были предприняты ещё в начале 90-х.


  1. artiom_n
    01.08.2018 13:53
    +1

    Я бы сказал, что первую статью, где описаны оптические нейросети, только без печати на 3D принтере, я нашёл аж 1986-го года, а вот тут аж 1982-й.
    Надеялся, что в статье будет про обучаемую оптическую сеть.
    Но увы.


  1. SpiridonovAA
    01.08.2018 14:35

    На базе такой нейронки можно реализовывать пассивные ОЛС, а так же датчики для КАЗ. Например, подлетает к танку БОПС, такая нейронка производит селекцию цели чисто по оптическому каналу и срабатывает КАЗ. Причем, не важно, что БОПС летит со скоростью 1740 м/с, распознавание будет практически мгновенным. Еще можно делать пассивные ГСН для ПТУРов


    1. frog
      01.08.2018 14:49

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


      1. SpiridonovAA
        01.08.2018 15:18

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


        1. enclis
          01.08.2018 15:31

          Очень интересно было бы послушать про ваш вариант реализации полностью оптической нейронной сети без когерентного источника света.


          1. SpiridonovAA
            01.08.2018 16:10

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


            1. frog
              01.08.2018 16:29

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


              1. SpiridonovAA
                01.08.2018 16:54

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


    1. Nordicx86
      01.08.2018 19:47

      Маленький пример — возьмите 30 СМ шнурка — это 1(одна) наносекунда
      не в атмосфере конечно медленнее — но для понимания проблемы вам Хватит…


  1. lleo_aha
    01.08.2018 15:49

    да и выход распознавания тут такой себе — грубо говоря максимум в одной из заранее определённых областей
    т.е. для задачи распознавания лиц в режиме «вот у нас есть 60к преступников» придётся всего лишь 60к выходных точек поддерживать и проверять где там энергия максимальная

    для «раздевающих очков» точно не подойдёт :)


    1. Sly_tom_cat
      01.08.2018 17:06

      Как раз для раздевающих и подойдет — выход то аналоговый, а его даже проще сделать чем псевдо цифровой, который они для MNIST делали.


      1. lleo_aha
        01.08.2018 17:15

        Ну вот с распознаванием цифр пример тут же в статье — «горит» 1 пиксель из 10. Т.е. по такой схеме распознанные 4ре цифры будут как 1 пиксель из 10к — не особо наглядный вывод


    1. trapwalker
      01.08.2018 18:02
      +1

      При достаточной мощности коггерентной подсветки распознаваемого объекта можно раздесть цель… до костей.
      Ну или распознающую апертуру совместить соосно с огнестрельным оружием и проецировать лазером надпись «раздевайся».


  1. death_code
    02.08.2018 00:54

    Вот пусть сделают рекуррентную сеть, тогда поговорим


    1. frog
      02.08.2018 01:40

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


      1. enclis
        02.08.2018 12:17

        Задачей создания оптической памяти взамен электронной занимается большое количество учёных и инженеров многих стран ещё с появления первых оптических нелинейных материалов. Первые варианты реализации оптической памяти появились ещё в 80-х годах, а может быть даже раньше. В 2015 году изготовили первую интегральную полностью оптическую память на основе материала с изменением фазового состояния (похожие материалы используется в CD/DVD/Blue-ray дисках). Об этом даже писали на хабре.


        1. frog
          02.08.2018 12:38

          То, что описывается по ссылкам в вашем комментарии называют «photonic». Насколько я вижу — используется изменение свойств материала под действием излучения. Это не оптическая память в буквальном смысле слова. И частоты там соответственно указаны около 1ГГц (если бы она была чисто оптической, она не была бы такой медленной).
          Сеть же, про которую речь в этом посте, авторы не называют «photonic». Пишут «all-optical». И это правильно.


    1. enclis
      02.08.2018 11:43

      Вы хоть чуток погуглите прежде чем комментировать. Обучаемую фотонную рекуррентную нейронную сеть с 2025 узлами реализовали ещё в прошлом году.