Pull to refresh

Comments 112

весьма занимательная информация, интересно, для домашник пк такое будет реализовано?
А зачем? Вы собираетесь распознавать боеголовки противника в толпе ложных целей???
Этот тип процессора нужен для специализированных устройств, имитирующих ИИ. Вот в телефонах/смартфонах такой чип будет очень даже кстати для распознавания лиц и прочей информации.
Распознавание это только пол дела. С тем же успехом подобные чипы можно применять и в более земных операциях, вроде рендеринга.
Геология, метеорология, видеонаблюдение, системы АСУ, прототипы ИИ — да, но дома…?

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

Так что с детектором отсутствия штанов придется подождать до разработки алгоритма распознавания штанов на человеке :)
Быстрее это и есть больше. Часто проблема не в том, что нельзя сделать, а в том что нельзя сделать в приемлемое время.

Голос должен быть распознан тут и сейчас. Через пол минуты уже не актуально. Другими словами алгоритм есть, только надо именно быстро, много быстро.
Это если бы алгоритм был. А его нет — и распознать штаны на человеке — не получиться ни через секунду, ни через месяц.
У меня софт от вебкамеры в реальном времени анализирует картинку и лепит на голову прическу «афро» или кроличьи ушки. И цепко так лепит, крутишь головой, киваешь — а они на своем месте сидят да еще и покачиваются вовремя. Но это баловство, подождем «революционного» управления в играх от MS. Они сильно хвалились, что никаких джойстиков теперь вообще не надо будет, вебкамеры хватит.
Тоже об этой программке подумал. Я по скайп нибм одеваю :)
Не о том. Это другая задача — Motion tracking. Она более менее решена.

А вот если бы вы привели пример того, что у вас есть софт который на — допустим — 10 случайно отобранных картинках находит штаны (разные, по разному расположенные, разного цвета, разного фасона — шорты, брюки, джинсы и т.д.) — но делает это к сожалению — очень долго — Вот тогда мы бы смогли обсудить на сколько этот чип мог бы ускорить этот софт.
Подумаете — даже распознавание текста, который состоит из букв изображение которых простое и типовое — это задача решена сейчас, пусть хорошо — но все равно с заметным уровнем ошибок.
В РПГ сюжеты создавать можно, в шутерах — подсказывать, как полетит мясо
«Ты прошел испытания, ты — Избранный! Хотя, знаешь, может и нет.»
Чем то похоже на:
Ни у кого не может возникнуть необходимости иметь компьютер в своем доме. (Кен Олсон — основатель и президент корпорации Digital Equipment Corp., 1977)
современные игры имееют такой ии которму многие исследователи позавидуют
В современных играх ИИ ограничен таким образом, чтобы игроку было интересно играть в игру. Причём я бы не стал называть используемые алгоритмы именно ИИ, скорее имитацией ИИ. Для упрощения алгоритмов используется множество читерских с точки зрения игрока вещей, т.е. например, знание о том, что и где происходит в игровом мире. Боты в стрелялках могут попадать в игрока со вероятностью, определяемой сложностью игры. Технически они всегда могут делать хедшоты. Противники в стратегиях просто знают местоположение всех юнитов игрока, т.е. эти противники не строят планов, не делают анализа вашей активности в разных частях карты, не производят анализ психологического портрета игрока и т.п.
Двухпроцессорный ПК. Один процессор вероятностный для ИИ в играх, другой для стандартных задач :))
логичнее тогда сделать сей девайс сначала в виде сопроцессора, как раньше было с обработкой вещественных чисел, а потом и вовсе впаять в ядро процессора основного, у которого тогда этих ядер уже будет не менее восьми ;)
С другой стороны напоминает ситуацию с графическими адаптерами. Отдельная плата расширения для вероятностных вычислений.
Как вариант — будет и интегрированная компоновка, и дискретная, как у тех же графических плат.

И детишки будут дёргать родителей перед витринами магазинов и просить купить вероятностный модуль пожирнее — «а то боты в кваке тупые бегают, я толпу за пару сек расчленяю» )
Скорее Вероятностный ускоритель или Ускоритель ВЕроятностей :)
коммерческое название Ктулху напрмер :)
Вудуу уже был… :)
действительно зачем?
«640 Кб должно хватить всем!» БГ
Если какуюто хрень изобрели — значит через некоторое время вы не смможете без нее обходится.
Вот например кому-бы 5 лет назад мог понадобится карманный акселометр?
А много ли тех кому он сейчас нужен?
Действительно. Я просто подумал почему-то про отдельное устройство.
Но даже в рамках такого устройства как айфон он не «понадобится», а скорее приятный бонус. Впрочем, это субъективно.
Так можно сказать практически про любую железку. Железо и софт под него всегда играли в догонялки и вряд ли остановятся в будущем
> Этот тип процессора нужен для специализированных устройств, имитирующих ИИ

Странно, только мне хочется чтобы домашний ПК был максимально приближен к ИИ?
Когда же появится двигатель на невероятностной тяге.
UFO just landed and posted this here
UFO just landed and posted this here
UFO just landed and posted this here
Журналисты не в курсе дел, поэтому пишут (в «Мембране») броские фразы: «Базовые принципы построения компьютеров, незыблемые вот уже более шестидесяти лет, пошатнулись.».
В 60-е годы плотно изучалась идея, строились машины и выпускалось много книжек об АВМ — аналоговых вычислительных машинах. Производительность, действительно, на 2-3 порядка выше, как была, так и осталась. Но в статье «забыли упомянуть» об особенностях этой логики: фиксированность погрешности.
Тем не менее, задачи, не критичные к точности вычислений вполне можно ими решать.
Обсчитывать графику для игр, например.
Это значит теперь датчики случайных чисел будут выдавать действительно случайные числа, а не так как сейчас:)
Это не для того.
Генераторы случайных чисел и так выдают действительно случайные числа, а генераторы псевдослучайных — псевдослучайные. В принципе, это очевидно из названия.
Это не так. Получить случайное число чисто алгоритмически — невозможно. Каким образом их сейчас получают? Ну, например берут значение тысячной доли секунды на данный момент. Но разве это случайное число? Нет, конечно.
Мы с вами про разные генераторы. Вы мне почему-то говорите про PRNG, которые являются алгоритмическими генераторами, я говорю про генераторы настоящих случайных чисел. Таких сколько угодно уже понаделано. Например, самый непредсказуемый вариант — что-то типа этого — Quantis. Сделать генератор истинно случайных чисел, скажем, на тепловом шуме не так уж и сложно.
Даже отдельные девайсы есть. Прикольно, не знал. Я конечно имел в виду чисто алгоритмические генераторы, не основанные на каких-то физических процессах и прочем:)
что сказать, Сара Коннор негодуе!

А вообще странно, что не Интел
игры, игры, в играх его использовать!

там же вероятность на вероятности
погодите, давайте как-то подружим его с какой-то операционной системой для начала
а зачем ос? юзать, как обычный сопроц с фирмварей — фирмварь сделал, таски кинул, результат забрал
то есть щас вам нехватает штатного рандома?
Если штатный рандом можно заменить чем-то более дешевым и холодным — почему нет?
Тьфу, я вообще прочитал «рендер». :) Подумалась идея запихать чип в видеокарты и физические рендереры.
Ну если привязать к нему AI от NPC то думаю будет лучше штатного авось )
теплый ламповый рандом ;)
В играх настоящие случайные числа как раз плохи — невозможно будет играть по сети, так как на каждом компе события будут развиваться независимо.
Интересно, за что минусуют?) Во многих сетевых играх действительно используются алгоритмы генерации псевдослучаных чисел именно для того, чтобы на разных машинах получались одни и те же значения рандома. Помню даже, что очень много гемора было с тем, что эти алгоритмы иногда давали разные значения из-за того, что различные процессоры могли считать слегка по-разному.
Это какой должен быть ГПСЧ чтобы генерировать на совершенно разных машинах одинаковые значения? Где это используется? Для чего? И почему называется рандом?
Очень хитрый ГПСЧ :-) Исходника, к сожалению, привести не могу, так что, увы, без пруфа.

Используется это для уменьшения количества передаваемых данных, что соответственно уменьшает нагрузку на канал и уменьшает задержки. Например, у нас есть стратегия. Есть сетевая игра на очень большой карте, просто на огромной карте, с некоторым количеством игроков. Допустим, на этой же карте есть 1000 NPC, которые бесцельно бродят или сражаются друг с другом. Для того, чтобы не передавать от клиента к серверу и от сервера ко всем клиентам положение этих NPC и их состояние, можно использовать ГПСЧ. В случае правильной работы этого ГПСЧ положение и действия всех NPC будет одинаковым на всех машинах.

Более того, от сервера к клиенту и от клиента к серверу можно передавать лишь действия игроков, полагая, что на всех машинах положение всех игровых объектов абсолютно идентично. Разумеется, идентичное положение объектов достигается не только благодаря ГПСЧ, но и благодаря ряду других не менее интересных алгоритмов. Есть там и синхронизации, и проверки «целостности» мира.
Ну или в мастабной схватке двух армий игрока, все юниты будут получать правильные псевдо-рандомные повреждения, и одинаково на всех машинах себя вести.
Если взять ваш пример с NPC, то это уже не ГПСЧ, а сценарий базирующийся, допустим, на waypoints & etc. Прошу меня понять, в свое время участвовал в разработке эмулятора сервера WoW, достаточно разбираюсь в теме нашего разговора и для меня открытие то что вы говорите.

Мы оба понимаем что такое ГПСЧ, скажите какой источник энтропии используется для указанного вами примера? Единственный вариант в этом плане, который я вижу, это источник-сервер. Об этом идет речь?

В любом случае это крайне уязвимо и примитивно, я удивлюсь, если на самом деле есть крупные проекты, функционирующие по этой схеме.
Есть некоторые изначальные параметры для рандомайзера, которые получены при инициализации сессии игры. Как вариант, источником этого параметра может являться сервер. Эти параметры определяют всю последовательность чисел, которые могут быть возвращены генератором. Далее каждый последующий вызов Random.Next возвращает строго определенное значение. Это значение и является псевдо-случайным, и оно же определяет все условно-случайные игровые события.

Речь идёт не о waypoints и т.п. Например, самый простой пример. Сражение двух юнитов в игре. Повреждения, наносимые юнитами друг другу определяется синхронизированным ГПСЧ, который гарантирует, что повреждения, нанесённые на машине А, будут идентичны повреждениям наносимым на машине Б. Т.е. без вмешательства игроков, в общем-то система полностью определена и предопределены итоги всех возможных сражений. При этом не факт, что картинка на экранах машин А и Б будет идентична. На одной из машин картинка может запаздывать.

Из-за риска рассинхронизации при высоких latency, необходимы проверки индентичности систем. Грубо говоря, некий CRC. В играх, реализованных по этому принципу, лагов не бывает по определению, но иногда при высоком latency игра будет полностью останавливаться до тех пор, пока уровень задержек не достигнет определенного уровня или системы не станут синхронными.

Система сложна в реализации, очень хрупкая, требует тщательной синхронизации и выверенности, а также множества дополнительных телодвижений для поддержания целостности всего этого добра. Из крупных проектов я знаю, что нечто подобное используется в Starcraft (и в Warcraft, если я не ошибаюсь), Age of Mythology, в Majesty 2.

Сервер WoW, а также MMORPG реализованы по другому принципу, т.к. уровень энтропии вносимый массой игроков убивает эту идею на корню. Кроме того, поддерживать синхронность 8 систем значительно проще поддержания синхронности миллиона систем :-) Да и совершенно бессмысленно, т.к. каждый игрок владеет лишь необходимой ему информацией.
Кажется понял о чем вы. Т.е. ГПСЧ инициализируется одинаковым seed'ом на всех клиентских машинах, таким образом ряд последовательно сгенерированных чисел будет одинаков у всех клиентов. Серверной стороне остается лишь поддерживать синхронность «срабатывания» очередного выпавшего числа в той или иной ситуации.

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

/me полез искать информацию о подобных извращениях в Starcraft/Warcraft.

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

У подобного варианта есть большое преимущество — игра может поддерживать действительно гигантские карты (фактически произвольного размера) и произвольное количество объектов на карте. Можно устраивать баталии 1000 на 1000 и не бояться лагов или высокого трафика. И есть большой недостаток — очень высокая сложность реализации и синхронизации, особенно при увеличении количества игроков.
Простите, но почему? Разве «случайность события» генерируется на клиенте, а не на сервере?
Зависит от выбранной реализации сетевой игры. Как я уже писал выше, в масштабных стратегиях зачастую эффективнее передавать действия игроков, а не состояние объектов системы.
«случайность события» генерируется и там, и там. Штука в том, чтобы генерировать одно и то же
Тогда это не случайность :) Тут даже термин «псевдослучайность» будет не совсем уместен. Где энтропия? Если речь идет о примитивном источнике энтропии (допустим, время), который прокидывается с сервера на клиентские машины, то еще можно понять. Но ведь это крайне уязвимо для различного рода вмешательств игрока с клиентской стороны.
При вмешательстве игрока системы не пройдут проверок целостности и начнётся процесс синхронизации. Даже если игрок сможет вмешаться в механизм проверок целостности, то в этом случае он по сути будет играть в сингл-плеер. Ему будет казаться, что противники дико тупят :-) Что же касается остальных игроков, то у них будет возникать ощущение, что тупит именно читер :-) Это бессмысленно и крайне палевно :-)
Это и с псевдослучайным генератором было. В небезызвестной игре Perimeter были случаи, что у игроков трещины по земле по-разному пошли, в итоге у одного постройка разрушилась, а у другого осталась. И засчет этого чем дальше — тем больше различий в том, что происходит у каждого из оппонентов.
Когда-то было прорывом использование арифметического сопроцессора к ЦПУ. Потом он «залез» ему внутрь. Потом туда же «позалезали» многие другие полезные фишки — от MMX и далее по списку до дополнительных ядер вплоть до SoC. Ждем появления новых блоков ЦПУ и наборов инструкций: статистических, нейронных, с троичной логикой. Кого забыл?
Что квантовый? Это же про алгоритмы и логику идет речь, а не об элементной базе.
Советую почитать про квантовый компьютер.
Это я погорячился, про оптический роутер подумал ;)
с такими процессорами можно добиться успехов в области имитационного моделирования, здесь применения таких процессоров было бы разумно…
Честно говоря, сложно поверить в то, что этот процессор будет в 1000 раз быстрее обычного на каких бы то ни было задачах. Аналоговость процессора позволяет выполнять быстрее некоторые операции над вещественными числами. (Правда с ограниченной точностью.) Но существующие процессоры и так неплохо с этим справляются, конечно не так как с дискретными задачами, но всё же… Даже если какая-нибудь операция с плавующей точкой начнёт выполняться 2 процессорных такта вместо 20-и, то это будет ускорением всего в 10 раз.

Опять же, каково соотношение сигнал/шум, сколько битов мы можем кодировать одним потенциалом? 4? 6? Едва ли больше 10-и, а значит преимущество перед дискретным процессором не может быть больше чем в эти самые 4-6 раз.
Вы начинаете правильно — про задачи. А доказательство приводите в арифметических операциях и дискретности.
Я думаю, что там другая логика и набор команд, которые позволяют вместо серии команд дискретного процессора по обсчету какой-нибудь вероятностной формулы применить «всего две-три» команды аналогового процессора.
Я имею в виду следующее. Чем отличается описанный в статье аналоговый процессор от обычного? Тем что а) сигнал не бинарный, б) для его обработки используются гейты, отличные от логических (типа AND / OR).

Но. Сигнал тем не менее не представляет вещественные числа лишь с ограниченной точностью. Мне сложно себе представить, чтобы эта точность была выше 4-6 битов. Представим себе, что мы хотим смоделировать такую аналоговую схему с помощью дискретной. Для этого нам на каждое аналоговое соединение сделать 4-6 бинарных и заменить аналоговый гейт на конструкцию из логических гейтов. Так вот, это, конечно, увеличивает сложность (и скорость работы) получающейся схемы, но далеко не в 1000 раз.

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

Если очень грубо привести пример.

Нам надо выяснить сколько получится воды X если её объединить из ёмкости A и Б.

В обычном компьютере нам надо разбить А и Б до двоичного состояния. Суммировать и результат вернуть к аналоговому состоянию получив значение X с какой-то точностью естественно.

В аналоговом компьютере мы просто выливаем А и Б в одну емкость и получаем результат.

Понятно откуда берется «быстрее в 1000 раз»?
Вы были бы абсолютно правы в случае, если бы в этом процессоре числа представлялись с бесконечной точностью. Продолжая ваш пример, учтём, что у наших ёмкостей точность операций ограничена. Скажем, у нас есть 16-литровые вёдра, но при всех операциях у нас проливается случайное количество воды в пределах литра. В таком случае, такая аналоговая схема может быть эффективно эмулирована с помощью 4-битых дискретных операций.
На сколько я понял там подается на вход некое напряжение в определенном диапазоне. Которое сопоставлено вероятности. Чем-то это напоминает механические вычислители баллистики у военных в 40-50 годах. Аналоговый компьютер — очень специализированный и невероятно быстрый. Поставили рычажки «входного сигнала» в нужное положение — рычажки «выходного сигнала» стали в соответствующий положения на шкалах мгновенно выдав результат. Производительность невероятная. :-)
А вот объясните, кто в теме… Я правильно понимаю, что такой чип можно использовать как аппаратный рандомайзер?

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

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

А здесь — может ли чип генерировать случайную информацию, или он ее только обрабатывает?
чип будет генерировать «не правдивую случайную информацию», но в отличии от нынешних процессоров, будет лучше брать сложную функцию.
Вкратце я думаю так: рандом будет более рандомным, но не честным до конца.
если «хорошо пойдет», то возможно в будущем его «прилепят» к процессорам ПК, как в свое время прилепили сопроцессоры.
К этой новости можно подойти с другой стороны. Люди занимались байесовыми сетями и подумали что было бы круто реализовать их аппаратно. И сделали это. И естественно аппаратно реализованная байесова сеть будет гораздо компактней и менее энерготребовательной, чем ее реализация на стандартных компонентах. Это как создать нейропроцессор, к примеру. Вполне естественно, что везде, где применяются эти байесовы сети, такой процессор будет эффективнее обычного CPU, но реализующего те же алгоритмы.
Хотя все равно радует, что сделали такой.
UFO just landed and posted this here
На таких процессорах будут делать эмуляторы женской логики :)
EPIC FAIL приходит на смену BSODу )))
UFO just landed and posted this here
Скажите кто в теме, подобные вероятностные процессоры и прочие квантовые компьютеры не могут посчитать даже 2х2 без погрешности, или таки могут?
По идее могут, в случае с единичной вероятностью.
Я один вспомнил «Автостопом по Галактике»? Там был звездолёт на невероятностной тяге.
«Приложение, вероятно, выполнило случайную ошибку и, возможно, будет закрыто.»
«GP5» так опасно похоже на «GPS» по написанию, опасно.
Код типа if(1!=1) { printf(«HOLY FUCK!»);} более не является смешной программистской шуткой.

Было бы неплохо в топике ссылку на полный техдок.
OH, SHI~!!! Они реализовали процессор на базе женской логики!
Теперь у него будет не 2 состояния «да-нет» а «да-нет-можетбыть-яподумаю».
Какова вероятность встретить динозавра на улице в 2010 году: 50/50 — либо встречу, либо нет.

Вопреки анекдоту, женская логика имеет свои преимущества, как и технология. В камментах много вариантов применения (скорее, местоположения) в домашних пк, но не увидел самого очевидного: сопроцессор. Было такое замечательное понятие. Если и адаптируют под пк, то скорее в этом формате. («а у тя какой верик стоит в проце?» )))) Ну что-то вроде того))
Про сопроцессор уже было в трех-четырех комментариях :-)
Вопреки анекдоту, женская логика имеет свои преимущества, как и технология.

Ну, только если этот процессор научится гладить рубашки и варить борщ — тогда еще может быть…
— А у меня есть Тёплый Ламповый Процессор!
— Нет холодной и бездушной Цифре!
— Даже процессора теперь аналоговые, что вы мне про своё lossless врёте!

Музыку будет играть и фотки обрабатывать. Мечта аудиофила.
Занудство, конечно, но может стоит в этой статье вместо «дизайн» писать «конструкция» или «устройство» (по контексту)? Все-таки английское слово «design» и теперь уже русское «дизайн» имеют разные значения.
вот на чем будут делать андроидов в ближайшем будущем…
быть может и с распознаванием/генерацией речи разберутся наконец.
Вы только чуть-чуть перепутали: видимо не вероятность, а плотность вероятности?
«тезисы его научной работы 2003 года» вообще это называется диссертацией.
Думаю, если в обычных ПК такой «сопроцессор» станет реально востребован, то в зависимости от нагрузки и круга задач его потихоньку реализуют в виде карты расширения (как это было со звуковухами и видюхами и не удалось с PhysiX), затем начнут встраивать в мамку, а потом SOC решения появятся и в итоге это всё с головой купит кто-то вроде Intel, AMD или Nvidia… всё зависит от востребованности и области приложения.
Он уже давно востребован.
Традиционный процессор аналогичен левому полушарию человеческого мозга. Чтобы компенсировать его малую эффективность для некоторых задач, ему повышали тактовую частоту до заоблачных высот, придумывали хитрые векторные инструкции, увеличивали количество ядер. Вероятностный процессор подобен правому полушарию человеческого мозга, и, в отличие от традиционного процессора, прекрасно подходит для задач распознавания объектов по огромному количеству свойств. В идеале вероятностный и логический процессоры должны работать сообща, как это делают 2 полушария человеческого мозга.
Sign up to leave a comment.

Articles