IBM адаптировала сверточную нейронную сеть для работы на нейроморфном чипеИсточник: habr
Как утверждает 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 чипов. |