Как утверждает IBM, точность TrueNorth соответствует лучшим современным системам распознавания изображений и голоса, но при этом система потребляет меньше энергии и работает быстрее. Команда исследователей компании уверена, что объединение сверточных сетей с нейроморфными микросхемами позволит в дальнейшем создавать более совершенные умные автомобили и смартфоны, которые правильно распознают голосовую команду человека, даже если он будет говорить с набитым ртом. Попробуем разобраться, в чем достоинства и недостатки TrueNorth, и где он нашел применение.
Мозг человека содержит около 86 миллиардов нейронов — клеток, которые соединяются с тысячами других нейронов с помощью отростков — синапсов. Нейрон получает сигналы от многих других, и когда стимуляция достигает определенного порога, он «активируется», посылая свой собственный сигнал окружающим нейронам. Мозг учится, в частности, путем корректировки крепких связей. Когда последовательность действий повторяется, например, посредством практики, сопутствующие синапсы становятся сильнее, а полученный урок или умение «вписывается» в сеть.
В 1940-х годах ученые начали моделировать нейроны математически, а в 50-х — создавать сети из нейронов и компьютеров. Искусственные нейроны и синапсы намного проще, чем в мозге, но действуют по тем же принципам. Множество простых единиц — нейронов — соединяются с другими через «синапсы» с их числовыми значениями в зависимости от значений единиц.
Сверточные нейронные сети (convolutional neural network, CNN) — это особый тип сетей, который приобрел популярность в последние несколько лет. CNN извлекают важные функции из стимулов — как правило, фотографий. Возьмем, к примеру, фотографию собаки. Ее можно представить в виде слоя нейронов, где активация одного нейрона представляет один пиксель в изображении. На следующем слое каждый нейрон будет принимать входные данные из набора первого слоя и активироваться, если обнаруживает определенный паттерн в этом наборе, действуя своего рода как фильтр.
В последующих слоях нейроны будут искать паттерны в паттернах, и так далее. В рамках одного слоя фильтры могут быть чувствительны к определенным структурам. Сначала к границам фигур, затем к лапам, затем к собакам, до тех пор, пока сеть не сможет определить разницу между собакой и тостером.
Сейчас такие вычисления обходятся дорого. Учитывая, что в человеческом мозге миллиарды нейронов и триллионы синапсов, имитация каждого пока невозможна. Даже симуляция небольшой части мозга потребует миллионы вычислений для каждого элемента ввода, на что нужны огромные вычислительные мощности. В крупнейших современных CNN могут быть миллионы нейронов и миллиарды синапсов, но не более.
Классическая вычислительная архитектура центральных процессоров, предназначенная для обработки одной инструкции за раз, не подходит для выполнения тех задач, которые накладывает CNN. Поэтому ученые обратились к параллельным вычислениям, которые могут обрабатывать сразу несколько. Современные нейронные сети используют графические процессоры, которые обычно просчитывают графику видеоигр и САПР. Из-за особенностей архитектуры и схожести математических вычислений видеокарты подходят для глубокого обучения.
Но все же аппаратное обеспечение справляется с глубоким обучением не так эффективно, как мозг, который может управлять автомобилем и одновременно вести разговор о будущем автономных транспортных средств, при этом потребляя энергии меньше, чем лампочка.
В 1980-х годах инженер Карвер Мид (Carver Mead) придумал термин «нейроморфные процессоры», чтобы описать компьютерные чипы, которые работают в некотором смысле подобно мозгу. Его работа заложила основу для этой области. И хотя термин «нейроморфный» теперь применяют к большому спектру решений, все они пытаются повторить механизм работы нейронных сетей на аппаратном уровне, избегая узких мест, с которыми сталкиваются традиционные процессоры.
Увидев необходимость в быстром и эффективном машинном обучении, Управление перспективных проектов Министерства обороны США (больше известное по аббревиатуре DARPA) с 2008 года активно финансирует корпоративную лабораторию IBM HRL Laboratories, чтобы та разрабатывала нейроморфные машины, которые можно легко масштабировать.
TrueNorth
В 2014 году IBM представила свой чип TrueNorth на обложке журнала Science. С тех пор компания разрабатывает системы на базе TrueNorth при финансовой поддержке Министерства энергетики США, ВВС и армии. Один такой чип содержит миллион «нейронов», каждый из которых представлен группой цифровых транзисторов, и 256 миллионов «синапсов» — проводных соединений между чипами.
Более эффективными по сравнению с обычными чипами нейроморфные архитектуры становятся благодаря двум функциям. Во-первых, такой чип, подобно мозгу, общается через «вспышки» — одномерные пакеты информации, отправленные из одного нейрона в нисходящие нейроны. Сигналы просты (есть вспышка или нет ее) и передаются только изредка, когда нейрон передает пакет. Во-вторых, так же как и в мозге, обработка и память расположены в нейронах и синапсах. На традиционном компьютере блок обработки данных постоянно извлекает информацию из отдельных областей памяти, выполняет операции, а затем возвращает новую информацию в память. Это приводит к множеству медленных и энергозатратных действий.
Система TrueNorth достаточно гибкая, поскольку ее можно программировать на реализацию сетей разного размера и формы и масштабировать за счет «разбивки» нескольких чипов. В своей научной работе команда IBM использовала нейроморфный чип для идентификации людей, велосипедов и автомобилей в видеоролике, снятом на улице. Сравнительный эксперимент показал, что программное обеспечение TrueNorth, работающее на традиционном микропроцессоре, использовало для этой задачи в 176 тысяч раз больше энергии.
Ключевой частью проекта IBM было создание не только чипа, но и программного обеспечения. Компания создала симулятор, новый язык программирования и библиотеку алгоритмов и приложений. Затем компания предоставила эти инструменты более чем 160 исследователям в академических, национальных и корпоративных лабораториях. Дизайн TrueNorth был завершен в 2011 году, а революция сверточных нейронных сетей произошла в 2012 году в рамках соревнований ImageNet Challenge. Поэтому некоторые люди стали задаваться вопросом, смогут ли чипы TrueNorth обрабатывать эти сети.
В CNN используется метод обратного распространения ошибки. Каждый раз, когда сеть ошибается, вычисляется разница между ее предположением и правильным ответом. Алгоритм обратного распространения ошибки рассматривает каждый нейрон в конечном слое и вычисляет, насколько изменение в выходе этого нейрона уменьшит общую ошибку. Затем он возвращается к предыдущим нейронам и вычисляет, насколько изменение в силе каждого входящего синапса уменьшит общую ошибку.
Нужно выяснить, следует ли увеличить или уменьшить синаптическую силу, поэтому алгоритм слегка подстраивает каждый вес в правильном направлении. Впоследствии алгоритм вычисляет новую ошибку с использованием новых весов и повторяет весь процесс. После многих таких шагов ошибка уменьшается в процессе, называемом градиентным спуском.
Изначально TrueNorth считался несовместимым с алгоритмом обратного распространения ошибки, поскольку градиентный спуск требует внесения крошечных корректировок в веса и видения крошечных улучшений. TrueNorth максимизирует свою эффективность, используя только три разных значения веса: -1, 0 и 1, а выход из нейрона равен 0 или 1. Градиентов нет, только дискретные шаги.
Одним из ключевых достижений команды стала серия методов для выполнения алгоритма обратного распространения ошибки с импульсными нейронными сетями. Исследователи решили эту задачу, обучив программную модель чипа, запрограммированную на использование аппроксимации аппаратного обеспечения, которое совместимо с градиентным спуском.
Другой ключевой разработкой было сопоставление CNN с множеством соединений с нейронами на чипе, который предполагает только 256 подключений на один нейрон. Этого удалось достигнуть путем назначения определенных пар нейронов, срабатывающих одновременно, которые объединили в один нейрон через входы и выходы.
Несмотря на достаточно высокую производительность TrueNorth, он был создан без учета особенностей глубоких нейросетей и CNN, поэтому по сравнению с другими системами у него есть недостатки. Например, чтобы сеть из 30 тысяч нейронов работала, потребуется 8 чипов (8 миллионов нейронов). Кроме того, TrueNorth — полностью цифровой чип, когда как некоторые имеют аналоговые компоненты. Их работа более непредсказуемая, но все-таки более эффективная. И хотя каждый чип TrueNorth делится на 4096 «ядер», которые работают параллельно, 256 нейронов в каждом ядре обновляются только последовательно и по одному за раз.
Последовательная обработка нейронов в ядре TrueNorth может создать узкое место, но она же обеспечивает регулярность. А это значит, что поведение чипа можно моделировать с высокой точностью на настольных компьютерах. При этом чип универсален — может поддерживать множество различных типов сетей, а текущая цель команды создателей чипа под руководством главного научного сотрудника IBM по мозгоподобным вычислениям Дхармендра Модха (Dharmendra Modha) заключается в том, чтобы развернуть несколько разных сетей, работающих вместе — достигнуть композиционности.
Планы на будущее
В дополнение к достижению композиционности команда Модха стремится исследовать различные методы обучения. Также ученые отмечают, что методы, описанные в их работе, могут применяться к нейроморфным чипам, отличным от TrueNorth. Более того, помимо новых методов обучения, команда задумывается и о более радикальных достижениях. Согласно отчету Департамента энергетики США от 2015 года о нейроморфных вычислениях, в настоящее время около 5-15% мировой энергии расходуется в той или иной форме обработки и передачи данных. Вместе с этим Департамент хочет повысить скорость, эффективность и отказоустойчивость сетей. Этот отчет подтолкнул команду IBM к мысли о разработке материалов с новыми физическими свойствами.
Глобальная цель — заменить гигантские центры обработки данных чипами в смартфонах, домах и автомобилях, которые могут «думать» сами за себя: вести разговоры, делать научные и медицинские открытия, управлять автомобилями, роботами или протезами конечностей. В идеале эти чипы могут достигнуть еще больших успехов, например, решить проблему голода в мире.
Несколько исследовательских лабораторий уже активно используют TrueNorth. В августе 2016 года Samsung продемонстрировала систему, которая использует видеопоток для создания 3D-карты окружающей среды в трех измерениях со скоростью 2000 кадров в секунду, потребляя треть ватта. Компания применила эту систему для управления телевидением жестами рук.
В Национальной лаборатории Лоуренса Ливермора есть плата из 16 чипов TrueNorth, которая применяется для повышения кибербезопасности и обеспечения безопасности ядерных вооружений США. Исследовательская лаборатория ВВС, которая использует TrueNorth для обеспечения автономной навигации беспилотных летательных аппаратов, недавно объявила о планах опробовать массив из 64 чипов.
Комментарии (21)
Alex_ME
18.07.2017 21:09Поправьте, если ошибаюсь, но современное понимание искусственных нейронных сети по-сути не оперирует никакими отдельными нейронами с синапсами и связями, а они представляют собой банальные матричные операции, которые очень эффективно умеют выполнять на современном сильно-параллельном железе (например, GPU). Разве что функции активации могут быть вычислительно сложны для одного слабого ядра.
mm7
20.07.2017 17:43Думаю, что существуют уровни абстракции, например программный АПИ высокого уровня может иметь топологию, группу связанных сетей как обьект, в него входят сети как обьекты, в них нейроны, которые связаны синапсами. В них сидят веса. Все эти сущности выражены как обьекты АПИ. При компиляции все это переводится на машинный язык видеокарты или другого аппарата, где сами вычисления могут производиться параллельно (и/или последовательно), с помощью матричных операций и тп…
imm
нет человеков — нет голода
LoadRunner
А я не понимаю этого журналистского «голода в мире». Мир не голодает. Еды производится в достаточном количестве, чтобы накормить каждого. Проблема голода — локальная, в отдельных странах.
Victor_Grigoryev
В ваших глазах проблема голода действительно станет таковой, когда вообще всем жрать будет нечего?
LoadRunner
Ещё раз повторяю — проблема голода не мирового масштаба. Если руководители определённых стран захотят — они её решат и накормят голодных по всему миру. но это затраты, которые не окупаются, поэтому население некоторых других стран до сих пор испытывает проблемы с едой\водой и голодом.
ilyaplot
Считаете, что руководители некоторых стран просто не хотят решать проблемы с водой и пищей? Представьте, что вы — руководитель. У вас есть 10 рублей, доход вашей страны составляет 5 рублей в сутки. Вам необходимо некоторое количество воды в сутки. Вода бесплатная, но ее доставка стоит 7 рублей в сутки. Вопрос, как быстро закончится вода в вашей стране?
red75prim
Закупать на 2 рубля, 1 платить полиции, 1 армии, искать внешних врагов.
LoadRunner
Я говорил про руководителей определённых стран. У которых есть ресурсы. А воды не хватает в некоторых других.
Вы верите в альтруизм и мир во всём мире?
Victor_Grigoryev
Вы эгоистичны и, так как всякое в жизни случается, такие же умники в лицах глав государств могут жестоко поплатиться за это. Каким образом?
Вот, скажем, есть страна Х. Вроде живёт, вроде еды много, а на голодающих в стране У смотрит свысока, мол, проблемы негров шерифа не интересует. И вдруг завтра на планете происходит региональный апокалиптец, климат меняется, страна Х внезапно оказывается у разбитого корыта, а У снимает по три урожая. Вопрос: дождётся ли стоя на коленях Х помощи у У, когда те клали на них Й всё время и не помогали, хотя могли?
LoadRunner
Ну на меня-то ярлыки вешать не надо, своё отношение к голодающим странам я не высказывал. А басню «Стрекоза и муравей» я прекрасно знаю.
Ansin
Это, мягко говоря, неправда. Просто есть популяционные механизмы, регулирующие рождаемость, которые, естественно, работают без учета фактора гуманитарной помощи. И при наложении одного на другое — в результате с голодом можно бороться — но не победить. Потому что какие бы бюджеты вы не выделяли на помощь — через пару лет ртов будет в разы больше. Пруфы не привожу — они общедоступны, в т.ч. и на Гиктаймс были.
alex4321
Типа в другом случае бы дождалась, ага.
Welran
Представьте что вы руководитель страны, у вас голодают люди и еда стоит 7 рублей, у вас есть 2000 рублей, что делать? Очевидно, построить на них новый дворец! Поэтому и голодают. У голодных нет денег что бы купить еду, у правительств нет денег и желания кормить этих голодных, деньги можно потратить на что то более полезное, например на новый парк люксовых автомобилей.
Ckpyt
Вьетнам, Сапа. Гордятся тем, что сами, руками выращивают рис, руками ткут, руками делают ВСЕ.
При этом, рис выращивают только чтоб самим съесть, его не продать — Китай как-то сбивает цену… Огромное количество неграмотных и необразованных людей. Наша гид говорила, что на скопленные деньги поедет учиться. Ей было 24 года.
Переезжаем границу. Огромные поля риса, на которых пашет трактор. Несколько гектар убирается одним владельцем. ВСЕ!!! Вот и причина низкой стоимости риса и бедноты соседнего региона.
Иными словами, проблема голода решается:
а) образованием.
б) автоматизацией.
На то и другое достаточно государственной воли:
а) полное среднее образование + кредиты на обучение
б) поддержка малого бизнеса. Хотя бы кредиты по проценту инфляции.
Именно так Ботсвана сумела реализовать свой офигенный алмазно-рудный потенциал, закупая при этом почти все продовольствие у соседей(обрабатывается 5% земель).
При этом, соседи до сих пор пользуются наследием британской колонизации, если не живут в домиках из говна и палок(в самом прямом смысле этих слов).
rPman
вот пусть нейронная сеть ищет выход из сложившейся ситуации.
у человека не получается, все держится на случае и везении.
Welran
Еда есть везде, даже в самых голодающих странах Африки. Голодают из за того что нет денег, а не еды.
Googlist
А вьі пробовали есть деньги?
Welran
Сегодня попробовал поменять деньги на еду. Получилось. А вот у голодающих африканских семей не получается потому что у них нет денег.