5710

Нейросеть, застывшая в стекле

Нет, это не безделушка из серии «муха в янтаре». Группе учёных из университета Висконсина, Массачусетского технологического и Колумбийского университетов удалось реализовать искусственную нейронную сеть, распознающую цифры, в виде микроскопической стеклянной пластинки. Для работы ей не требуется ни электропитание, ни подключение к каким-либо другим устройствам — фактически это автономный аналоговый компьютер, который будет работать до тех пор, пока сохраняется его целостность.

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


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

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


Для подачи на вход нейросети двухмерное изображение рукописной цифры размером 20 × 20 пикселей заменяют на одномерное (фактически колонки пикселей выстраивают в линию). Включения в стекле преобразуют фронт световой волны таким образом, что энергия концентрируется в одной из десяти областей, соответствующих цифрам.


Нейросеть, обученная на пяти тысячах изображений, корректно распознаёт цифры в 79 случаях из 100. Авторы статьи утверждают, что могли бы добиться лучшего результата, если бы не ограничения, связанные с процессом изготовления стекла.

Физический размер пластинки — 80λ на 20λ, где λ — длина волны света, используемой для представления информации. Теоретически на распространение волны может влиять каждый атом, хотя на практике вряд ли удастся использовать включения размером меньше 10 нм. Но даже при таком масштабе потенциальное количество весов превышает 10 миллиардов на квадратный миллиметр.


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


Источник


P. S. Это экспериментальный пост. Я работаю научным консультантом в Политехническом музее, и в мои обязанности входит изучение научных новостей в своей области (компьютерные технологии). По итогам я выбираю наиболее любопытную новость и делаю короткий доклад на внутримузейном научном семинаре. Этот пост был создан на основе одного из таких докладов. Если затея вам понравится, я буду периодически публиковать интересные новости из мира IT (а может, и не только).

Искусственный интеллект

4.9K постов11.4K подписчиков

Правила сообщества

ВНИМАНИЕ! В сообществе запрещена публикация генеративного контента без детального описания промтов и процесса получения публикуемого результата.


Разрешено:


- Делиться вопросами, мыслями, гипотезами, юмором на эту тему.

- Делиться статьями, понятными большинству аудитории Пикабу.

- Делиться опытом создания моделей машинного обучения.

- Рассказывать, как работает та или иная фиговина в анализе данных.

- Век жить, век учиться.


Запрещено:


I) Невостребованный контент

  I.1) Создавать контент, сложный для понимания. Такие посты уйдут в минуса лишь потому, что большинству неинтересно пробрасывать градиенты в каждом тензоре реккурентной сетки с AdaGrad оптимизатором.

  I.2) Создавать контент на "олбанском языке" / нарочно игнорируя правила РЯ даже в шутку. Это ведет к нечитаемости контента.

  I.3) Добавлять посты, которые содержат лишь генеративный контент или нейросетевой Арт без какой-то дополнительной полезной или интересной информации по теме, без промтов или описания методик создания и т.д.


II) Нетематический контент

  II.1) Создавать контент, несвязанный с Data Science, математикой, программированием.

  II.2) Создавать контент, входящий в противоречие существующей базе теорем математики. Например, "Земля плоская" или "Любое действительное число представимо в виде дроби двух целых".

  II.3) Создавать контент, входящий в противоречие с правилами Пикабу.


III) Непотребный контент

  III.1) Эротика, порнография (даже с NSFW).

  III.2) Жесть.


За нарушение I - предупреждение

За нарушение II - предупреждение и перемещение поста в общую ленту

За нарушение III - бан

Вы смотрите срез комментариев. Показать все
25
Автор поста оценил этот комментарий

Эмм... Суммировать свет - можно (с оговорками), ставить коэффициенты (затемнять) - можно, функция активиции... ну допустим тоже.

Но с учетом что связать нейроны все со всеми между слоями будет довольно сложно если делать это в стекле...

Короч, мне бы было интересно узнать более подробно как они это сделали, пусть это и будет "Пикабу образовательный". Как перешли от аналитической классической многослойной к такой, думаю, не тривиальной "аналоговой".

Скинь хотя бы код научной статьи в DOI, они там вообще описывали как провели. Использовали фишки с сложением волн света (а равно и "гашением противофазой" или там это правильно в оптике называется) ?

раскрыть ветку (10)
11
Автор поста оценил этот комментарий

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

2
Автор поста оценил этот комментарий

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

раскрыть ветку (8)
1
Автор поста оценил этот комментарий
Если там 79 на валидации, то скорее всего что-то совсем мелкое. На уровне трех слоев и пары десятков нейронов максимум на слой.
раскрыть ветку (7)
0
Автор поста оценил этот комментарий

На мнисте даже однослойка точность побольше даст, так что наверняка ещё меньше)

раскрыть ветку (6)
1
Автор поста оценил этот комментарий

однослойка точность побольше даст

Я не думаю, что в посте сверточная.

раскрыть ветку (3)
0
Автор поста оценил этот комментарий

Во-первых, почему вдруг "однослойка" = "свёрточная"?) Слои есть во всех нейросетях, тем более в полносвязных.
Во-вторых, свёрточные слои с точки зрения математики ничем принципиально от полносвязных не отличаются, а в каком-то смысле даже проще, т.к. весов меньше. Так что ничто особо не мешает сделать любой из вариантов.

раскрыть ветку (2)
0
Автор поста оценил этот комментарий

Во-первых, почему вдруг "однослойка" = "свёрточная"?) Слои есть во всех нейросетях, тем более в полносвязных.


Потому что сверточная на мнисте лучше) я пару лет назад писал без библиотек двуслойную, когда только начинал изучать МЛ, два слоя уже были 96+.

Не отличаются, но нужен препроцессинг с помощью im2col или подобной операции.

раскрыть ветку (1)
0
Автор поста оценил этот комментарий

Понятно, что лучше) Но и один полносвязный слой уже даст точность куда больше этих 80%.

Ну и да, в статье как раз написано, что "пиксели выстраивают в линию", так что речь наверняка идёт об одном полносвязном слое, причём, видимо, не очень большом, у которого потом ещё и какие-то связи отрезали.

0
Автор поста оценил этот комментарий

А можете подсказать, что для совсем-совсем новичка почитать в области нейросетей и как и на чем можно написать что-то несложное в качестве "домашнего задания"?

раскрыть ветку (1)
0
Автор поста оценил этот комментарий

Для начала учишь питон на базовом уровне (базовый синтаксис + немножко классы), потом выбираешь для себя Pytorch или Tensorflow (я лично выбрал второй), у них обоих отличная документация, можно прям оттуда почерпнуть некоторые знания и глянуть базовые примеры.


Чуть более структурированно: я бы рекомендовал https://dlcourse.ai/ - чувак очень хорошо объясняет, начиная с самых-самых основ и заканчивая наиболее современными вещами вроде трансформеров) Какие-то задачки в качестве домашек там тоже есть, но там pytorch.


Плюс подключайся к ods.ai - там найдёшь кучу ссылок на литературу и курсы + огромное сообщество, готовое ответить на любые вопросы)

Вы смотрите срез комментариев. Чтобы написать комментарий, перейдите к общему списку