IBM TrueNorth -- процессор принципиально новой архитектуры
- затрудненность композиции/декомпозиции
- неустойчивость на малых изменениях
- отсутствие повторного использования при изменении постановки задачи
ps
Нейронные сети хороши лишь на узком классе задач:
нечеткая классификация в фиксированном сегменте
Нейронные сети - это тупик из-заРечь идет не об умозрительных нейронных сетях, которые известны уже давно, а о принципиально новой архитектуре процессоров, которая построена по принципу нейронной сети. Это совершенно разные вещи.
Сразу возникают фантазии насчет новых способов программирования таких "нейронных" процессоров, что-то вроде подхода, используемого в системе Erlang, когда нейроны как изолированные процессы обмениваются сообщениями...
Речь идет не об умозрительных нейронных сетях, которые известны уже давно, а о принципиально новой архитектуре процессоров, построенной по принципу нейронной сети. Это совершенно разные вещи.В этом процессоре нет новой архитектуры. В нем обычные старые добрые нейронные сети.
Из нового лишь только то, что это самый большой процессор из тех, у которых нейроны обрабатываются аппаратно (а не эмулируются программно).
Из нового лишь только то, что это самый большой процессор из тех, у которых нейроны обрабатываются аппаратноАппаратная обработка нейронов разве не говорит о новой архитектуре процессора?
можно поподробнее?
Нейронные сети - это тупик из-за:
- затрудненность композиции/декомпозиции
- неустойчивость на малых изменениях
- отсутствие повторного использования при изменении входных данных
- что такое "композиции/декомпозиции"? что конкретно имеется ввиду?
- неустойчивость чего и на малых изменениях чего? что конкретно имеется ввиду тут тоже?
- 3-е вообще звучит как нонсенс. Для чего тогда разбивка идет на training/validation/test data sets и потом применение на ранее не наблюдаемых данных?
Интресно, под это описание попадает ImageNet classification task?
Нейронные сети хороши лишь на узком классе задач:
нечеткая классификация в фиксированном сегменте
ImageNet is a dataset of over 15 million labeledи тоже отсюда:
high-resolution images belonging to roughly 22,000 categories.
The images were collected from the web and labeled by human
labelers using Amazon’s Mechanical Turk crowd-sourcing tool.
Starting in 2010, as part of the Pascal Visual Object
Challenge, an annual competition called the ImageNet
Large-Scale Visual Recognition Challenge (ILSVRC) has been
held. ILSVRC uses a subset of ImageNet with roughly 1000 images
in each of 1000 categories. In all, there are roughly 1.2
million training images, 50,000 validation images, and 150,000
testing images.
Abstract:
We trained a large, deep convolutional neural network to classify the 1.2 million
high-resolution images in the ImageNet LSVRC-2010 contest into the 1000 different
classes. On the test data, we achieved top-1 and top-5 error rates of 37.5%
and 17.0% which is considerably better than the previous state-of-the-art.
Речь идет не об умозрительных нейронных сетях, которые известны уже давно, а о принципиально новой архитектуре процессоров, которая построена по принципу нейронной сетиничего принципиально нового. Просто сделали железку под одну задачу. Но хорошо и быстро её считающую. Никто же не орал о принципиальной новизне железок для расчёта хешей для биткойна
что такое "композиции/декомпозиции"? что конкретно имеется ввиду?- из НС, решающую задачу A+B, невозможно выделить НС, решающую задачу A(или B)
- отсутствует четкий способ для: имея НС, которая решает задачу A, и НС, которая решает задачу B - сделать НС, которая решает задачу A + B
> неустойчивость чего и на малых изменениях чего? что конкретно имеется ввиду тут тоже?
вход: постановка задачи (например, в виде тестовой выборки)
выход: обученная НС
выход (структура НС) ведет себя неустойчиво по отношению к входу (малому изменению тестовой выборки)
> 3-е вообще звучит как нонсенс. Для чего тогда разбивка идет на training/validation/test data sets и потом применение на ранее не наблюдаемых данных?
дело в другом.
При изменении постановки задачи (даже при самом малейшем) всю предыдущую работу по обучению НС можно смело выкидывать. Т.е. год работали, показали заказчику - он ответил: "Отлично! а теперь тоже самое, но с бантиком" - и опять на год работы.
невозможность дать гарантию на вид результата.
В том смысле, что для обычных алгоритмов есть способы сделать гарантированную оценку: например:
- результат всегда будет не хуже, чем ..,
- алгоритм всегда остановит машину на препятствие размера больше, чем 20см^2
и т.д.
Для НС таких гарантий дать нельзя. Проявляется пресловутая иррациональность.
Я не особо специалист по НС, но все это звучит как последствия overfitting.
вход: постановка задачи (например, в виде тестовой выборки)
выход: обученная НС
выход (структура НС) ведет себя неустойчиво по отношению к входу (малому изменению тестовой выборки)
...
При изменении постановки задачи (даже при самом малейшем) всю предыдущую работу по обучению НС можно смело выкидывать.
Т.е. год работали, показали заказчику - он ответил: "Отлично! а теперь тоже самое, но с бантиком" - и опять на год работы.
А во втором случае "бантик" это новые features? Усточивость весов сильно зависит от используемого метода обучения.
Если структура поменялась, то сильно ли поменялась точность классификации?
Если нет, то кого волнует что в этом черном ящике?
Если да, то надо с чем-то сравнивать, с другими классификаторами.
Если на всех данных/задачах сети дают результат хуже остальных классификаторов то да, либо они в принципе плохо работают на этих конкретных данных,
либо спец не достаточно много знает всяких трюков диагностики. Но есть задачи где на сейчас ничего лучше нейронных сетей нет.
Поэтому я не согласен, что это "тупик".
+ На Kaggle доля задач выигранных с помощью нейронных сетей постоянно ростет.
а FPGA - не то? там ведь блоки разбросаны равномерно или как-то ещё - бери и соединяй как надо
На Kaggle доля задач выигранных с помощью нейронных сетей постоянно растет.так это и есть та самая узкая ниша нечеткой классификации о которой я говорил в начале.
ps
я к тому, что на НС текстовый редактор не создашь, не говоря уже о чем-то более сложном.
я к тому, что на НС текстовый редактор не напишешь, не говоря уже о чем-то более сложном.пусть оно само напишет себе текстовый редактор
Оно хотя бы два числа перемножить без ошибок может?
Почему-то все думают, что человеческий мозг типа на нейронах все параллельно офигенно быстро решает, значит надо херачить эти нейроны и все само как-нибудь тоже заработает. Даже если отбросить тот факт, что человеческие нейроны существенно отличаются от программных, остается вопрос какие-такие алгоритмы использует мозг для параллельной обработки. Если подумать, то нет таких алгоритмов (за исключением особых классов задач), человек ничего на эту тему не придумал, только обнаружил, что цена синхронизации неимоверно высока. Так что мозг работает отнюдь не параллельно (не считая каких-то отдельных кусков типа поиска в памяти или зрения) и весь кипешь вокруг нейрочипов не стоит и выеденного яйца.
Нейронная сеть это функция y = f(x, alpha), универсальный аппроксиматор выходных векторов на входных. В принципе и не предполагается что на ней можно писать текстовые редакторы.
Yann Lecun, специалист в том числе и в этой области not amused:
В принципе и не предполагается что на ней можно писать текстовые редакторы.в том числе на НС затруднительно реализовать логические модели, мат. модели (и даже простейшие вычисления), ветвления, циклы и т.д.
ps
имхо, НС имеет смысл как набор маленьких кубиков (занятых нечеткой классификацией отдельных подзадач) внутри большой обычной программы. Соответственно, НС-чип полезен как НС-ускоритель в дополнении к обычному процессору, позволяя такие классификации выполнять существенно быстрее.
кстати, если НС ускоритель будет равнораспространённым наравне с графическим, то нас с вами ждут совсем нечитаемые капчи.
"Нейронные сети хороши на узком классе задач" - любой алгоритм, метод годится только для той области, для которой разработан
- отсутствует четкий способ для: имея НС, которая решает задачу A, и НС, которая решает задачу B - сделать НС, которая решает задачу A + BКомитеты, boosting. К великому неудовольствию и недовольству математиков, в нейросетевой области действительно много эмпирики
выход (структура НС) ведет себя неустойчиво по отношению к входу (малому изменению тестовой выборки)Такие проблемы могут быть у выборки, в которой 1000 примеров. Если примеров - миллион, как в нормальной серьезной практической задаче, то это вряд ли
При изменении постановки задачи (даже при самом малейшем) всю предыдущую работу по обучению НС можно смело выкидывать. Т.е. год работали, показали заказчику - он ответил: "Отлично! а теперь тоже самое, но с бантиком" - и опять на год работы.Зависит от архитектуры нейронной сети. "и опять на год работы" - не могу вообразить, что это должна быть за дьявольская конструкция, которую нужно год переобучать.
LeCun не восхищен потому, что он решает задачи в весьма специфической области и специфическими методами, для которых данный чип не сильно подходит. Да и журналисты постарались раздуть слона из мухи
LeCun не восхищен потому, что он решает задачи в весьма специфической области и специфическими методами, для которых данный чип не сильно подходит. Да и журналисты постарались раздуть слона из мухи
Я так понял, он не восхищен моделируемыми нейронами, демонстрируя их недостатки на примере "зрительных" задач. А есть ли примеры задач, областей, в которых именно такие архитектуры показывают лучшие результаты?
Small sample size, модель с многими параметрами => overfitting
Такие проблемы могут быть у выборки, в которой 1000 примеров.
Если примеров - миллион, как в нормальной серьезной практической задаче, то это вряд ли
Все перечисленные выше проблемы с НС представлены без анализа причин, просто как факт наблюдения,
да еще и без сравнения с какой-либо base line на тех же данных.
Так что я тоже такой критике не доверяю.
В том смысле, что для обычных алгоритмов есть способы сделать гарантированную оценку: например:Для каких обычных алгритмов? О какой задаче идет речь?
- результат всегда будет не хуже, чем
Я так понял мы говорим о классификации.
Если так, то не понятно что значит "результат всегда будет не хуже, чем ..".
Это о точности классификации? На каких-то данных или что?
Таких гарантий для классификации еще не наблюдаемых данных что-то нигде не встречал.
Видел только теоретические вероятностное оценки, но для любой learning machine, включая нейронные сети.
"Нейронные сети хороши на узком классе задач" - любой алгоритм, метод годится только для той области, для которой разработанЕсли бы о НС говорили как об узком алгоритме, то и треда бы данного не было. Ведь и ТС, да, и массы в целом, относятся к НС, как к новой элементарной базе на которой можно построить решение произвольных задач.
Не явно даже витает надежда, что когда-то в компьютере/планшете/телефоне вместо обычного процессора будет стоять нейрочип, и благодаря этому "жизнь сразу наладится" (компьютеры приблизятся к человеку).
Соответственно, я утверждаю, что необходимо постоянно разьяснять, что НС - это действительно лишь алгоритм, который хорош только на узком классе задач. И даже там есть ряд плохо решаемых проблем.
Оставить комментарий
nikola1956
Удивительно, но в компьютерных технологиях, кажется, начинается фундаментальный сдвиг. IBM создала процессор на основе нейронной сети. Происходит имитация работы мозга живых существ, вроде пчел.http://xakep.ru/news/truenorth/
Если я правильно понял, главная идея новой архитектуры состоит в том, чтобы оперативная память и средство обработки ("процессор") были соединены в единые блоки ("нейроны"), которых миллионы, в отличие от традиционной архитектуры, когда память отделена от одного или нескольких процессоров.
Хотелось бы узнать подробности об этой новой архитектуре. Чувствую, что зарождается фундаментально новая технология, которая кардинально изменит IT-отрасль. Кто-нибудь знаком с этой темой?