Pull to refresh

Comments 10

UFO just landed and posted this here
Да, и запасаться спиртом — линзы протирать
А почему нейросети? Почему не числомолотилки? Оптика действительно хорошо может в линейную алгебру и преобразование Фурье.
Потому что оно для этого очень сильно подходит.

Что есть NN, как не «суматор» с многими входами и выходом/выходами и какой-то «магией» внутри?
Только в случае «нормального» железа у вас к примеру работает куча потоков, каждый слой за слоем изменяет веса нейронов от входных сигналов (подгоняя их под требуемый уровень ошибки для выхода, ну и там обратная связь, градиентный спуск, вот это всё).
При этом как число повторов (так и нужное количество потоков) растёт сильно нелинейно как при усложнении топологии сети (с увеличением количества слоёв/нейронов/обратных связей и т.д.), так и при увеличении размера обучающей выборки.

А теперь представьте такой настраиваемый оптический как-бы «FPGA» чип, который есть тупо система (полупрозрачных) зеркал, описывающий внутри какую либо поверхность, ну например тоже находящая локальный экстремум, но в отличии от того же градиентного спуска, как бы одним махом — за один блик (как бы с полностью мгновенным откликом).
Т.е. грубо говоря делающий тот же «градиентный спуск» тупо за один «проход» (без сильно-затратной промежуточной математики на матрицах/float внутри) и вовсе без сотен тех потоков вокруг да около.

Упрощенно говоря, светим на каждый вход лучом нужной силы/уровня (от 0 до 1), и внутри «само-изменяем» параметры для зеркал (прозрачность для вещей типа обратной связи, угол для весов и прямых связей) по принципу пока не получим на выходе/выходах свет нужного уровня.
Так, что в идеале, он (чип) полностью повторяет ту требуемую поверхность, как она есть.

Сам принцип мгновенного отклика возможно когда-нибудь полностью изменит всю парадигму построения, обучения и настройки сетей.
Это как внезапно заменить старый одно-поточный Z80 на какой-нибудь современный NVIDIA V100.

Возвращаясь к вашему вопросу, если это будет просто чип — числодробилка, то бутылочное горлышко просто сместиться в сторону обвязки этого чипа, а полного «распараллеливания» от входа до выхода за один проход, как и собственно упомянутого «мгновенного отклика», как не было, так и не будет.
Спасибо. Я немного некорректно задал вопрос, имелось в виду: почему тема оптических вычислений не всплыла раньше на 10-15 лет (когда значительно улучшилась и подешевела оптика и оптоэлектроника) в контексте числодробилок, например, для военных, или для физических симуляций, или той же оптимизации. Давайте попробуем пойти от иммутабельных данных, которые проецирует ЖК-экран. С ними можно делать не одну операцию, а несколько последовательно «за один такт», потом просто часть данных отбросить на этапе считывания или постобработки. А по поводу обвязки… Уже есть терагерцовые детекторы на лавинных фотодиодах, да и редукцию на интерференции, например, можно попробовать изобразить.
Потому что сложность построения такого настраиваемого «чипа» очень высока (ну ещё и дорого очень).
Т.е. в теории то оно в принципе понятно как, а на практике «забыли про овраги».

А про обвязку, вы меня не поняли — если не утащить большую часть логики обучения в оптику, то грубо говоря всё остается как есть, необходимое количество эпох, потоков, повторов, рекурентные обращения и иже с ним. Ну и плюс время необходимое на перестроение «чипа» (скармливание ему новых параметров, input lag, время переключения и т.д.) на каждой итерации.
То есть рост времени обучения на каждой эпохе, вот этого всего, как был нелинейным, так и останется.

Например, оставаясь на вашем примере, используя что-то типа многослойного полупрозрачного LCD построить поверхность, осветить, затем используя матрицу на APD, можно найти наибольшую/наименьшую точки свечения (экстремумы), используя тот же сумматор определить ошибку и считать тем же APD, и т.д. но…
Это далеко не единственные действия, которые нам нужно совершить…
Т.е. затем еще анализ в железе, многократно слой за слоем «перестроить» LCD и повторить это для каждой группы в обучающей выборке, и для нужного количества эпох, и т.д и т.п. При этом не забывайте про сложности (типа компенсация шумов на APD на больших скоростях переключений и т.д.)
Если умудрились запихнуть почти всё обучение в модель, то честь им и хвала, тогда выигрыш понятен. Я просто немного про другое, про старые добрые аналоговые компьютеры, без перестроения чипа (ASIC вместо FPGA), или с относительно медленным перестроением на гальванозеркалах или акустооптике, не обязательно по предложенным в статье схемам. Вам не попадались данные, что кто-то счел прибыльным эту тему возродить?
Что приходит в голову в первую очередь: экран и матрица на 1000*1000 16битных пикселей для обработки изображений. Очень вряд ли цикл экспонирования займет меньше 1миллисекунды, зато за раз можно прожевать 16 мегабит. Самое простое — частотная фильтрация, FT, интегрирование, направленное дифференцирование, свертка и развертка.
Если умудрились запихнуть почти всё обучение в модель, то честь им и хвала

Нет, это к сожалению, пока даже не ближайшие перспективы. Мечты… мечты.


Что приходит в голову в первую очередь ...

Это вы про свертку и т.д.? Так оно о том и есть практически… Тот же упомянутый в статье MIT-овский PNPhPU (строго говоря он еще не U, а пока только programmable nanophotonic processor) на то и заточен.
У него кстати по сравнению с GPU и ко, помимо скорости, есть еще очень большое приимущество — практически нулевой рост потребления (энергии) при усложнении (типа matrix multiplication, и т. п.).

Fathom Computing это очередной развод на деньги доверчивых инвесторов. Ничего кроме красивой обертки за более чем два года существования фирмы этими братьями-основателями не придумано. Почитайте как они с геномом человека разбирались.
Sign up to leave a comment.