yego.me
💡 Stop wasting time. Read Youtube instead of watch. Download Chrome Extension

Аналоговые компьютеры возвращаются? Часть 2 [Veritasium]


13m read
·Nov 3, 2024

Вот сайт с шаурмой. Likes сотни лет.

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

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

Это именно аналоговое вычислительное устройство. Здесь нет 0 и 1, вместо них используется напряжение, которое колеблется вверх-вниз, точно как груз на пружине. Электросхема таким образом становится аналогом физической задачи, только происходит в ней все гораздо быстрее. Устройство можно перепрограммировать, просто меняя соединение, и оно сможет решать другие дифференциальные уравнения. Например, систему Лоренса, которая выступает базовой моделью атмосферной конвекции. Кстати, система Лоренса – один из первых обнаруженных нами примеров хаоса.

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

Если вам нужно сложить два 8-битных числа на цифровом устройстве, вам понадобится около 50 транзисторов. На аналогах вам можно сложить токи, просто соединив два провода. Чтобы перемножить два числа на цифровом компьютере, понадобится порядка тысячи транзисторов, которые будут переключать нолики и единицы. В аналоговом компьютере ток можно пустить через резистор, напряжение на нем будет равно U/I, и вот мы перемножили два числа.

Но у аналоговых компьютеров есть и свои недостатки. Во-первых, это не вычислительные машины общего назначения – Microsoft Word на этой штуке не запустишь. А из-за непрерывности входных и выходных данных какие-то определенные значения задать невозможно. Повторяя одну и ту же операцию, абсолютно одинаковых ответов вы не получите. И не стоит забывать о процессе производства: характеристики основных комплектующих, резисторов и конденсаторов всегда будут варьироваться, поэтому стоит ожидать погрешность результатов в один процент.

Аналоговые компьютеры мощные, быстрые и энергоэффективные, но создаются они под конкретную задачу, результаты всегда немного другие, неточные. Если вы думаете, что это сильно ограничивает их применение, вы правы. Мне кажется, именно из-за этого аналоговые компьютеры отошли на второй план, как только цифровые технологии стали широко применяться.

А вот почему возможно аналоговые устройства отвоюют былую славу. В первую очередь вспомним об искусственном интеллекте. Этот автомат запрограммировали распознавать и перемещать объекты, и это давно не новость. Сам термин вошел в обиход еще в пятьдесят шестом. Спустя два года психолог из Корнелльского университета по имени Фрэнк Розенблат предложил схему персептрона, устройства, имитирующего поведение нервных клеток в мозге.

Вот упрощённая схема работы обычного нейрона. У нейрона бывает два состояния: возбуждение и покой. Их можно обозначить как 1 и 0. Входным сигналом для одного нейрона служит выходные сигналы от нескольких других. Связи между клетками бывают разных сил, поэтому каждому нейрону можно присвоить свой вес. Некоторые передают возбуждающий сигнал, тогда их вес положительный, а некоторые подавляющий – когда их вес отрицательный.

Чтобы узнать реакцию конкретного нейрона, нужно взять все нейроны, от которых он получает сигнал, умножить состояние каждого на вес связи и сложить результаты. Если получившаяся сумма больше порогового значения нейрона, то он возбуждается, а если меньше – то остается в покое. Входные данные в персептроне, не у Розенблата, а в собираемых 400 фотоэлементах, расположенных квадратной сетке, создавали изображение разрешением 20 на 20.

Представьте, что каждый пиксель – это входной нейрон, состояние которого соответствует яркости этого пикселя. Строго говоря, в настоящих нейронах состояние может быть только 1 или 0, но у этих допустимы значения между. Все нейроны-пиксели связаны с общим выходным нейроном, и вес каждой связи можно регулировать. Чтобы узнать, возбудится или нет выходной нейрон, берем значение активации входных нейронов, умножаем на вес связи и складываем. По сути, считаем скалярное произведение векторов.

Если результат больше порогового значения, нейрон на выходе возбудится, если нет – то нет. Задача персептрона состояла в том, чтобы успешно различать два изображения, например прямоугольник и круг. Иными словами, выходной нейрон должен каждый раз реагировать на изображение круга, но игнорировать прямоугольник. Для этого персептрон нужно было обучить, показывая ему разные круги и прямоугольники, настраивая вес каждой связи.

Кстати, этот процесс удобно визуализировать, ведь каждый нейрон – это пиксель, и у каждого собственный вес. Изначально Розенблат задал всем весам одинаковое значение. Если персептрон выдавал правильный результат, то есть когда ему показывали прямоугольник, выходной нейрон оставался в покое, никаких изменений не требовалось. При ложном срабатывании вес связи приходилось настраивать. При этом алгоритм действовал очень просто: вот нейрон не активировался, и хотя персептрону показали круг, для корректировки мы добавляем к весу связей значения активации входных нейронов.

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

Розенблат даже говорил, что устройство в каком-то смысле способно самостоятельно мыслить, а СМИ это подхватили. Нью-Йорк Таймс назвали персептрон зародышем электронного компьютера, который, как ожидают, в военно-морском флоте сможет ходить, говорить, видеть, писать и воспроизводиться, а также осознавать, что существует. После тренировки на множестве примеров устройству предлагают взглянуть на незнакомые лица, и устройство успешно отличает женщин от мужчин. Она обучилась.

В действительности возможности персептрона были довольно ограничены, и он не видел разницы между собаками и кошками. Об этом и других критических замечаниях можно прочитать в книге 1969 года, которую написали звезды Эймат и Пикард. Их трудами начался мертвый период для нейросетей искусственного интеллекта, он известен как первая зима. И Розенблат ее окончания не застал: он утонул во время морской прогулки по Чесапикскому заливу в свой сорок третий день рождения.

На флипе – это фургон, модифицированный таким образом, чтобы им могли управлять как исследователи, так и компьютеры. В 1980-ых вновь появился интерес к нейросетям. В Carnegie Mellon создали один из первых беспилотных автомобилей. Им управляла нейросеть по имени Элвин. Он во многом напоминал персептрон, но между входными и выходными нейронами у него был еще скрытый слой. В качестве входных данных были изображения участка дороги размером 30 на 32 пикселя. Вот так они выглядят в 60 на 64. Каждый нейрон на входе соединялся регулируемыми связями с четырьмя нейронами скрытого слоя.

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

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

Несмотря на эти достижения, для искусственного интеллекта все равно оказывались неразрешимыми относительно простые задачи, например, научиться отличать кошек от собак. Никто не знал, в чем дело: в железе ли, в программном обеспечении. Может, с моделью искусственного интеллекта все в порядке, но не хватает мощности, или мы вообще не поняли, как создавать интеллектуальные системы. И вот на 90-е выпадает очередное затишье в сфере. В середине двухтысячных большинство специалистов сосредоточились на совершенствовании алгоритмов.

Но исследовательница Файв думала, что дело в другом: может, всем этим нейросетям просто нужно больше данных. Она решила размариить столько объектов, сколько только сможет. С 2006 по 2009 она создавала и мир знает базу данных, в которую вошли 1,2 миллиона размеченных людьми изображений. Это была крупнейшая подобная база своего времени. С 2010 по 2017 проводили ежегодное соревнование, масштабный чемпионат в области визуального распознавания, в котором разработчики выясняли, какие системы лучше распознают изображение из тысячи различных категорий. Одних только пород собак было 90.

У нейросетей, принимающих участие в соревновании, на выходе было по тысяче нейронов, каждый отвечал за одну категорию объектов, которые приходилось распознавать. Если, например, на картинке была немецкая овчарка, выходной нейрон, соответствующий немецкой овчарке, должен активироваться сильнее остальных. Удивительно, но оказалось, что это не просто один из способов оценить точность искусственного интеллекта, посмотреть, как часто среди пяти нейронов самой сильной активации нет правильного. Это так называемый рейтинг ошибок в топ-5. В 2010 году лучший алгоритм показал результат в 28,8 процента, то есть почти в 3 случаях правильный ответ оказывался вне первой пятерки.

Спустя год этот показатель у победителя составил 25,8 процента. Замечательный прогресс. Но еще через год нейросеть от разработчиков университета Торонто под названием AlexNet показала невиданный результат: у неё рейтинг ошибок не превышал 16,4 процента. AlexNet отличалась размером и глубиной; в нейросети было восемь слоев, 500 тысяч нейронов в общем счете. Обучение пришлось тщательно настраивать, 60 миллионов весов и пороговых значений, используя учебную базу данных. Из-за многочисленных матричных умножений на каждое изображение уходило по 700 миллионов математических операций. В общем, приходилось очень много считать. Команде все удалось благодаря уникальному методу: использованию графических процессоров.

Видеокарты, которые нужны для работы дисплеев и экранов, специально разработаны для быстрых параллельных вычислений. Статья, описывающая принцип работы AlexNet, — настоящий хит: на текущий момент её процитировали более ста тысяч раз. В работе определяющим фактором успеха нейросети называют ее масштаб. На то, чтобы натренировать нейросети, уходит много вычислений, однако результаты стоят того: количество ошибок стабильно падало. И в соревновании ImageNet в 2015 году минимальный рейтинг ошибок в топ-5 составил всего 3,6 процента — это лучше, чем у человека.

Чтобы достичь таких результатов, потребовалось 100 слоев нейронов. Вот что ждет нас в будущем: год за годом будет расти спрос на все более масштабные нейросети. Несколько факторов превращают эту проблему. Первое — потребление энергии: чтобы обучить нейросеть, мы тратим годовой энергетический резерв 3 средних домохозяйств. Вторая проблема – бутылочное горлышко фон Неймана. Практически любой современный компьютер хранит данные в памяти, и когда нужно обращаться к ним по шине, при операциях с матрицами на огромных объемах данных большая часть времени и энергии уходит на то, чтобы извлечь информацию о весах, а не на сами вычисления.

Ну и наконец, нельзя забывать про закон Моора: десятки лет число транзисторов на чипе удваивалось примерно каждые два года, но теперь размер самих транзисторов стремится к размеру атома, и делать их еще меньше становится все труднее из-за законов физики. И потому наступает время аналоговых компьютеров. Цифровые сталкиваются со всевозможными ограничениями. Аналоговые технологии все больше и больше набирают популярность. Грубо говоря, все, что нужно для их работы — это перемножать матрицы. Нейросеть может работать без точности цифровых компьютеров, хотя она на 96 процентов уверена, что на картинке курица, хоть на 98 процентов на картинке — все равно курица. Так что большие различия в компонентах и условиях нам не страшны.

Я отправился в техасский стартап по разработке аналоговых компьютеров — Mefik, где создают чипы, на которых могут работать нейросети. Мне показали несколько разработанных алгоритмов. А вот у тебя заметили очень крутое. Самое вероятное применение, пожалуй, это дополненная виртуальная реальность. Например, ваш друг у себя дома, вы у себя, вас обоих можно зарендерить в виртуальном пространстве. Так что нам очень важно быстро считывать расположение всех частей тела, чтобы их отобразить.

Это что, для Мета-вселенной? Ну, наверное, для неё тоже подойдет. Мы измеряем глубину с помощью всего лишь одной камеры: она все снимает и составляет карту температур. Светлое – то, что близко, если отойти подальше – станет темнее. Все эти алгоритмы можно приспособить к цифровым компьютерам, но в данном случае матричное умножение происходит как раз в аналоговом мире. Для этого компания Mefik решила перепрофилировать цифровые ячейки флеш-карт. Обычно они используются как элементы памяти, хранят в себе 1 или 0. Если направить большое положительное напряжение на управляющий затвор, электроны пройдут через барьер и попадут в плавающий затвор. Уберите напряжение – электроны останутся там на десятки лет, не давая ячейке проводить ток. Таким образом, можно работать в двоичной системе.

Считать значения получится с помощью маленького напряжения. Если плавающий затвор заполнен электронами, ток не пойдет — это 0, если же электронов нет, ток пойдет — это 1. Идея компании в том, чтобы использовать ячейки не просто как переключатели, а как резисторы. В плавающий затвор можно поместить определенное количество электронов, не обязательно все сразу. Чем больше электронов, тем выше сопротивление канала. Если приложить небольшое напряжение, результирующий ток будет равен отношению U/I. Это то же самое, что произведение напряжения на проводимость. Проводимость – это обратная величина сопротивления. Получается, каждую ячейку памяти можно использовать для перемножения двух значений: напряжения и проводимости.

Как же на этом запустить нейросеть? Присвоим каждой ячейке свой вес. Он будет равен их проводимости, а значение активации будет равно подаваемому на ячейку напряжению. Мы помним, что результирующий ток — это произведение напряжения на проводимость, или, в данном случае, активации на вес ячейки. Соединяем нейросети таким образом, чтобы все результирующие токи складывались вместе. Мы получим матричное умножение. Вот наш первый продукт: чип способен производить 25 триллионов операций в секунду. 25 триллионов! Да, 25 триллионов математических операций, на которые уйдет около трех ватт энергии.

А это много, если сравнивать с цифрой. Новейшие цифровые системы могут выполнять от 25 до 100 триллионов операций в секунду, однако они стоят тысячи долларов и потребляют от 50 до 100 ватт энергии. Но мы тут немного сравниваем теплое с мягким, конечно, системы разные. Для тренировки наших алгоритмов нужно вот такое железо: видеокарта и вообще много чего умеют. Но если ваша задача – это работа конкретно с одним, то можно ограничиться вот этим. Такие чипы подходят для камер слежения, беспилотных систем, оборудования для контроля производства, например чипсов на фабриках Лейс.

Там стоят камеры, и плохие чипы сдувает вентилятор с ленты. Оценку качества как раз проводит искусственный интеллект. Колонки в умных домах проводят много времени в ожидании голосовой команды на пробуждение, например, "Алекса" или "Сили". Энергоэффективные аналоговые системы могут распознать голос и разбудить, когда надо. Цифровую схему устройства, тем не менее, его аналоговых технологий есть свои минусы.

Одна из нейросетей, которую мы режим, требует 50 этапов матричных умножений. Если вычислять все аналоговым методом, в данных накопится столько неточностей, что их можно просто выкинуть. Поэтому приходится каждый раз переводить результат в цифру и отправлять на следующий этап вычислений. Там переводить в аналог, чтобы искажение было меньше. Розенблат хотел создать персептрон на основе цифрового компьютера, но когда тот оказался слишком медленным, собрал собственный аналоговый компьютер с переменными резисторами, оснащенными собственными моторчиками. Его концепция нейросетей в конечном итоге себя оправдала.

Возможно, по поводу аналоговых технологий он тоже прав. Я не знаю, ждет ли аналоговые компьютеры тот же успех, которого достигли цифровые за прошлый век, но похоже, что с задачами, на которых мы сосредоточены сегодня, аналоговые технологии справятся лучше. Мне это кажется забавным. Я всегда думал, что оптимальный способ обработки информации как раз цифровой. За последние полвека все: от музыки до фотографии, видео, перешло в цифровое пространство. Но может, лет через 10 мы будем смотреть на цифру не как на апогей информационных технологий, а как на отправную точку.

Наш мозг в каком-то смысле цифровой: у отдельного нейрона, по сути, только два состояния, вместе с тем он аналоговый. Мышление происходит везде и одновременно. Так может создать настоящий искусственный интеллект, аналог человеческого мозга. Нам помогут именно аналоговые технологии.

More Articles

View All
15 Things To Do When Life Doesn’t Go Your Way
In the novel of Our Lives, plot twists are essential to the richness of the story. They’re here to make your Ted Talk more interesting. Maybe you got fired, lost someone, or your flight got delayed, missed your connection, and now you’re writing a script …
Learn coding from scratch with Khanmigo
Did you know that Khan Academy just launched their AI-based education chatbot? It’s called Khan Mego, and it’s a beta tool that is available. Your website basically gives you a preview of what the chatbot is going to look like, and it looks pretty legit. …
2d curl nuance
In the last couple of videos, I’ve been talking about curl, where if we have a two-dimensional vector field v defined with component functions p and q. I’ve said that the 2D curl of that function v gives you a new function that also takes in x and y as in…
Place value tables
What we’re going to do in this video is think a little bit about place value tables, and sometimes they’re referred to as place value charts. In previous videos, we’ve already talked about the idea of place value, and a place value table or place value ch…
Filming the Alaskan Wilds - Behind the Scenes | Life Below Zero
We are here to document the lives of people living in Alaska. The harsh reality is the environment we’re up against; it makes it tough to do our job. They’re working on Life Below Zero, and it can be very dangerous—guns here, cameras here—you never know w…
Einstein velocity addition formula derivation | Special relativity | Physics | Khan Academy
Let’s say this is me and I am floating in space. My coordinate system, my frame of reference. We’ve seen it before; we’ll call it the S frame of reference. Any space in any point in space-time, we give it X and Y coordinates. And let’s say that we have m…