Электронные нейросети

Hello, All!

Что есть сабж ? Мне тут попались некоторые намёки на их возможности. Походу это принципиаьлно новое направление в embedded. Кто сталкивался ? Мне что-то не верится, что при таких вычислительных возможностях ни одна фирма кристаллов не делает. Даже мысль такая была, что Такие возможности обнаружили, что...засекретили всё на%...

With best regards, Dmitriy Malugin. E-mail: snipped-for-privacy@comail.ru

Reply to
Dmitriy Malugin
Loading thread data ...

Sat Feb 28 2004 19:28, Dmitriy Malugin wrote to All:

DM> Что есть сабж ? DM> Мне тут попались некоторые намёки на их возможности. DM> Походу это принципиаьлно новое направление в embedded. DM> Кто сталкивался ?

Изучал доки на 1879ЛВ1 - российский "нейропроцессор". Еще можно в ПЛИС натолкать нейронов, причем десятки-сотни.

DM> Мне что-то не верится, что при таких вычислительных возможностях DM> ни одна фирма кристаллов не делает. Даже мысль такая была, что DM> Такие возможности обнаружили, что...засекретили всё на%...

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

Reply to
Ilia Tarasov

Hello, Ilia! You wrote to Dmitriy Malugin on Sat, 28 Feb 2004 21:55:28 +0300:

DM>> Что есть сабж ? DM>> Мне тут попались некоторые намёки на их возможности. DM>> Походу это принципиаьлно новое направление в embedded. DM>> Кто сталкивался ?

IT> Изучал доки на 1879ЛВ1 - российский "нейропроцессор". Еще можно в ПЛИС IT> натолкать нейронов, причем десятки-сотни.

А как ? Просто с ПЛИС дело пока и не имел...

DM>> Мне что-то не верится, что при таких вычислительных возможностях DM>> ни одна фирма кристаллов не делает. Даже мысль такая была, что DM>> Такие возможности обнаружили, что...засекретили всё на%...

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

Пожалу это и есть именно то, что я и представляю о нейросетях на данный момент.

IT> Однако же - делаем адаптивный фильтр, и?... А сходимость нейросети как будем IT> обеспечивать? А "впадание в ступор" (врезультате обучения подавляющее IT> большинство коэффициентов устремляется к нулю и какая-либо реакция на IT> входные данные практически исчезает)?

Это вот и есть то, в чём я хочу разобратся. А именго - принцип обучения. То есть то, как будут изенятся коэффициенты в процессе обучения. Первая мысль: два порта ввода информации. В режиме обучения на оба входа поданы слохные сигналы (только от фантазии автора зависит сложность этих сигналов) и задача нейросети выставить свои коэфициенты так, чтобы уловить взаимосвязь между этими сигналами. Теперь самое интерестное: На входы подан звуковой спектр речи... на первый - на русском, на второй - на, например на английском. Улавливаете ? Для бытовых условий вполне сойдёт два фильма с озвучкой на разных языаках. Причём музыкальное сопровождение тоьлько поможет - это дополнительный кусочек информации обычно задаёт эмоциональную окраску. Теоретически, в рабочем режиме, такая сеть будет способна к переводу, гораздо более осмысленному, чем то, на что способны логические методы. Прявда для такой задачи нужна нейросеть с огромным количеством связей. Я думал, что современной технологии не хватит... потом уточнил количество лоигческих элементов в современном бытовом (Athlon) процессоре и быстро успокоился - такому количеству нейронов позавидует немалое количествр "живых" нейросетей. Тут, правда вышла заковыка с биологическими анаолгами. Насколько я понял, живые нейросети хранят инвормацию только о рефлексах "по Павлову", а вот, способны ли они к ассоциации - это большой вопрос. Другой пример применения - распознавание образов. Есть некоторое количество видеокамер, или одна подвижная. Задача - построить 3D образ помещения. Насколько я применял эту задачу к "обычной" системе, то у меня выходило так: В системе есть подвижная камера и источник освещения. Система снимает проэкцию из нескольких точек при освещении из разных точек. По полученной картинке можно судить о поверхностях, просто определяя угол положения поверхности (элементарного 3D треугольника) по зависимости освещённости его от положения точки освещения и точки съёмки. В случае нейросети, входными данными является проэкция. Выходными вспомогательными - положение точки съёмки и положение (а можно и спектр) источника света. А обучающий сигнал - это закон распределения света в пространстве. ... Результат работы нейросети - это традиционный массив 3D-треугольников. Следовательно понадобится интерфейс передачи инвормации из нейросети в "цифровую форму". Я рассудил так: Нейросеть имеет две системы информационного обмена. Одна - это сигналы управления видеокамерой и источниками освещения и система передачи проэкции с камеры. Вторая - точно такая же система, только... виртуальная. "Обычный" компьютер, выполняющий программу любого 3D движка со всеми атрибутами - освещением, виртуальными камерами. А выход нейросети управляет механизмом "рисования" этом виртуальном 3D пространстве. Я уже не говорю о перспективах применения нейросети для сжатия

3D информации... система распознавания образов. Достаточно мощная нейросеть может распознавать не только образы "куб","сфера", такие, как "дуб","забор". А вот и финал... попытатся интегрировать электронную нейросеть с биоогической. (для справки: скорость распространения биохимического импульса "живой" нейросети от скорости распространения электрического импульса в проводнике примерно на 6 порядков отличается). Речь идёт о создании устройства ввода инвормации напрямую через нервные импульсы живой нейросети. Меня радует, например перспектива создания устройства ввода, более быстрого, чем... клавиатура... какой простор откроется для творчества !

IT> Вобщем, тут и пофлеймить, и конструктивно IT> пообсасывать идейку можно...

И нужно !

With best regards, Dmitriy Malugin. E-mail: snipped-for-privacy@km.ru

Reply to
Dmitriy Malugin

Такая нейросеть существует. Головной мозг называется. Хотя как посмотришь на переводы, выполненные нейросетями студентов, изучающих иностранный язык, понимаешь, как далеко еще до качественного машинного перевода.

Reply to
Dmitry Balabanits

Sat, 28 Feb 2004 21:55:28 +0300 Ilia Tarasov wrote to Dmitriy Malugin:

IT> Изучал доки на 1879ЛВ1 - российский "нейропроцессор".

Это который NM6403?

IT> Еще можно в ПЛИС натолкать нейронов, причем десятки-сотни.

Да, на современных ПЛИС можно ту же работу делать гораздо эффективнее (в смысле быстродействия)

DM>> Мне что-то не верится, что при таких вычислительных возможностях DM>> ни одна фирма кристаллов не делает. Даже мысль такая была, что DM>> Такие возможности обнаружили, что...засекретили всё на%...

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

Там еще после этого полученный сигнал пропускается через пороговую функцию. А умножение с накоплением, afair, там называется взвешенным суммированием.

IT> Однако же - делаем адаптивный фильтр, и?... А сходимость нейросети как IT> будем обеспечивать? А "впадание в ступор" (в результате обучения IT> подавляющее большинство коэффициентов устремляется к нулю и какая-либо IT> реакция на входные данные практически исчезает)? А обучать на каких данных?

А это, похоже, самый сложный вопрос. :) В общем случае никто не знает, как это внутри работает, а некоторые успехи достигаются в каких-то отдельных областях/случаях, когда удается понять закономерности и построить более или менее удачные алгоритмы обучения.

Reply to
Harry Zhurov

Sun Feb 29 2004 01:47, Dmitriy Malugin wrote to Ilia Tarasov:

IT>> Изучал доки на 1879ЛВ1 - российский "нейропроцессор". Еще можно в ПЛИС IT>> натолкать нейронов, причем десятки-сотни.

DM> А как ? Просто с ПЛИС дело пока и не имел...

В современных уже просто s <= a * b; Блочные умножители ставятся в ПЛИС уже сотнями. Выводы блоков растаскиваются по выводам ПЛИС в произвольном порядке. Внутренняя структура ПЛИС и возможности САПР вполне позволяют сделать нейросеть. Точнее, ее аппаратную часть.

IT>> Однако же - делаем адаптивный фильтр, и?... А сходимость нейросети как

DM> будем

IT>> обеспечивать? А "впадание в ступор" (врезультате обучения подавляющее IT>> большинство коэффициентов устремляется к нулю и какая-либо реакция на IT>> входные данные практически исчезает)?

DM> Это вот и есть то, в чём я хочу разобратся. А именго - принцип обучения. DM> То есть то, как будут изенятся коэффициенты в процессе обучения.

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

DM> Первая мысль: два порта ввода информации. В режиме обучения на оба DM> входа поданы слохные сигналы (только от фантазии автора зависит сложность DM> этих сигналов) и задача нейросети выставить свои коэфициенты так, DM> чтобы уловить взаимосвязь между этими сигналами. Теперь самое DM> интерестное: DM> Hа входы подан звуковой спектр речи... на первый - на русском, на второй DM> - на, DM> например на английском. Улавливаете ? Для бытовых условий вполне DM> сойдёт два фильма с озвучкой на разных языаках. Причём музыкальное DM> сопровождение тоьлько поможет - это дополнительный кусочек информации DM> обычно задаёт эмоциональную окраску. Теоретически, в рабочем режиме, DM> такая сеть будет способна к переводу, гораздо более осмысленному, чем DM> то, на что способны логические методы. Прявда для такой задачи

Hе так чтобы сразу. Для приведенного примера нейросеть настроится скорее всего на _этот_ фильм. Другой фильм - другие настройки. И зачем оно надо? Кстати, из анекдотичных ситуаций вспомнил попытки распознавания неба на фотографиях нейросетями. Предъявлялось немеренное количество фоток, в результате нейросеть дала результат: небо - это верхняя часть фотографий. :)))

DM> нужна нейросеть с огромным количеством связей. Я думал, что современной DM> технологии не хватит... потом уточнил количество лоигческих элементов DM> в современном бытовом (Athlon) процессоре и быстро успокоился - такому DM> количеству нейронов позавидует немалое количествр "живых" нейросетей.

Число логических элементов слабо связано с числом нейронов. Дело не только в количестве элементов, но еще и в реализованных между ними связях. Конечно, имея пару сотен миллионов транзисторов, можно "выложить рядком" довольно большое число нейронов, но ведь будет нужно обеспечить заведение в них анализируемых данных, надлежащую буферизацию, вывод всего этого наружу, перекрестные связи и т.п. А процессор довольно сложная вещь и очень "несимметричная" по использованию физических ресурсов. Hапример, Pentium имеет емкость в 200 тыс. логических вентилей (не транзисторов). Hо ПЛИС того же объема не сможет полностью реализовать Pentium - в первую очередь за бортом останется FPU и barrel shifter в целочисленном АЛУ.

(skipped) DM> Я уже не говорю о перспективах применения нейросети для сжатия DM> 3D информации... система распознавания образов. Достаточно мощная DM> нейросеть может распознавать не только образы "куб","сфера", такие, DM> как "дуб","забор".

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

DM> А вот и финал... попытатся интегрировать электронную нейросеть DM> с биоогической. (для справки: скорость распространения биохимического DM> импульса "живой" нейросети от скорости распространения электрического DM> импульса в проводнике примерно на 6 порядков отличается).

С этим в su.science к Корчмарюку... если нервы крепкие ;))) Он бооольшой фанатик засовывания человека в компьютер, причем пробивает эту идею примерно как Выбегалло у Стругацких - размахивая томами классиков кибернетики и философии...

DM> Речь идёт о создании устройства ввода инвормации напрямую через DM> нервные импульсы живой нейросети. Меня радует, например перспектива DM> создания устройства ввода, более быстрого, чем... клавиатура... какой DM> простор откроется для творчества !

А с этим пару лет назад знакомый студент укатил в Штаты. Hа поверку задача свелась к банальной обработке энцефалограммы :)

IT>> Вобщем, тут и пофлеймить, и конструктивно IT>> пообсасывать идейку можно...

DM> И нужно !

Это да...

Reply to
Ilia Tarasov

Sun Feb 29 2004 17:44, Harry Zhurov wrote to Ilia Tarasov:

IT>> Изучал доки на 1879ЛВ1 - российский "нейропроцессор".

HZ> Это который NM6403?

Честно говоря, не в курсе. Скачивал описания для 1978ЛВ1, его и рекламируют по эхотажным журналам. Если он чей-то аналог, дело существенно не меняется.

IT>> Еще можно в ПЛИС натолкать нейронов, причем десятки-сотни.

HZ> Да, на современных ПЛИС можно ту же работу делать гораздо эффективнее HZ> (в смысле быстродействия)

И еще проблемной специализации...

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

HZ> Там еще после этого полученный сигнал пропускается через пороговую HZ> функцию. HZ> А умножение с накоплением, afair, там называется взвешенным HZ> суммированием.

Да, математически нейрон состоит из двух частей. Пороговая функция может иметь естественную реализацию в виде ограниченной разрядности аккумулятора, а может принимать очень простые формы в виде сравнения с порогом и выхода больше/меньше, или функции y = 1*x, т.е. отсутствовать как физическое устройство.

IT>> Однако же - делаем адаптивный фильтр, и?... А сходимость нейросети как IT>> будем обеспечивать? А "впадание в ступор" (в результате обучения IT>> подавляющее большинство коэффициентов устремляется к нулю и какая-либо IT>> реакция на входные данные практически исчезает)? А обучать на каких IT>> данных?

HZ> А это, похоже, самый сложный вопрос. :) В общем случае никто не HZ> знает, как это внутри работает, а некоторые успехи достигаются в каких-то HZ> отдельных областях/случаях, когда удается понять закономерности и HZ> построить более или менее удачные алгоритмы обучения.

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

Reply to
Ilia Tarasov
29-Feb-04 22:15 Ilia Tarasov wrote to Harry Zhurov:

IT>>> Изучал доки на 1879ЛВ1 - российский "нейропроцессор".

HZ>> Это который NM6403?

IT> Честно говоря, не в курсе. Скачивал описания для 1978ЛВ1, его и рекламируют IT> по IT> эхотажным журналам. Если он чей-то аналог, дело существенно не меняется. Он не аналог. Просто у него два имени "NeuroMatrix 6403" и "1879ЛВ1". AFAIR, NM6403 появилось первым, а "стандартное" имя 1879ЛВ1 - позже. По крайней мере я их в таком порядке слышал :-) Ну и NM6403 идёт как "экспортное" название.

wbr,

Reply to
Oleksandr Redchuk

Sun Feb 29 2004 23:14, Oleksandr Redchuk wrote to "Ilia Tarasov":

IT>> Честно говоря, не в курсе. Скачивал описания для 1978ЛВ1, его и IT>> рекламируют по IT>> эхотажным журналам. Если он чей-то аналог, дело существенно не меняется.

OR> Он не аналог. OR> Просто у него два имени "NeuroMatrix 6403" и "1879ЛВ1". OR> AFAIR, NM6403 появилось первым, а "стандартное" имя 1879ЛВ1 - позже. OR> По крайней мере я их в таком порядке слышал :-) OR> Hу и NM6403 идёт как "экспортное" название.

Ух ты, здорово. Процессор очень грамотный для такой задачи. Если это целиком российская разработка, то просто очень приятно. Умеем все-таки...

Reply to
Ilia Tarasov

Sun, 29 Feb 2004 23:35:39 +0300 Ilia Tarasov wrote to Oleksandr Redchuk:

IT>>> Честно говоря, не в курсе. Скачивал описания для 1978ЛВ1, его и IT>>> рекламируют по IT>>> эхотажным журналам. Если он чей-то аналог, дело существенно не меняется.

OR>> Он не аналог. OR>> Просто у него два имени "NeuroMatrix 6403" и "1879ЛВ1". OR>> AFAIR, NM6403 появилось первым, а "стандартное" имя 1879ЛВ1 - позже. OR>> По крайней мере я их в таком порядке слышал :-) OR>> Hу и NM6403 идёт как "экспортное" название.

IT> Ух ты, здорово. Процессор очень грамотный для такой задачи. Если это IT> целиком российская разработка, то просто очень приятно. Умеем все-таки...

Да, он еще и с 5-й приемкой! ;) Разработан НПО "Модуль". На Верилоге. Делают, вроде, на Самсунге (по кр. мере еще два года назад это было так) по 0.24 мкм технологии.

Еще у них следом шел NM6404, у того, вроде, памяти на борту было кардинально больше, но потом его бросили и стали делать NM1281 (или как-то так, порядок циферок могу попутать), у которого векторное ядро уже на 128 разрядов. Ну и вообще там всего больше, толще. Правда что-то до серийного образца (в прошлом-позапрошлом году, когда выбирали, что ставить) дело не дошло. Может сейчас уже реально появилось, не знаю.

И что в этом деле радует, так это то, что парни кроме процессора еще и кросс-средства к нему разработали - С/С++ компиляторы, линкер, асм и прочее. В общем, народ пользуется.

Reply to
Harry Zhurov

Mon Mar 01 2004 10:59, Harry Zhurov wrote to Ilia Tarasov:

IT>> Ух ты, здорово. Процессор очень грамотный для такой задачи. Если это IT>> целиком российская разработка, то просто очень приятно. Умеем IT>> все-таки...

HZ> Да, он еще и с 5-й приемкой! ;) Разработан HПО "Модуль". Hа Верилоге. HZ> Делают, вроде, на Самсунге (по кр. мере еще два года назад это было так) HZ> по 0.24 мкм технологии.

Очень и очень приятно. :) Пятая приемка заставляет смотреть на железки совершенно иначе. А что, его после самсунга проверяют? Там ведь не только спецвоздействия, там еще и жучков ищут... А если после HDL можно отправить кристалл за границу, так это вообще прекрасно. Теперь Intel не отмажется... :)))

HZ> Еще у них следом шел NM6404, у того, вроде, памяти на борту было HZ> кардинально больше, но потом его бросили и стали делать NM1281 (или HZ> как-то так, порядок циферок могу попутать), у которого векторное ядро уже HZ> на 128 разрядов. Hу и вообще там всего больше, толще. Правда что-то до HZ> серийного образца (в прошлом-позапрошлом году, когда выбирали, что HZ> ставить) дело не дошло. Может сейчас уже реально появилось, не знаю.

HZ> И что в этом деле радует, так это то, что парни кроме процессора еще HZ> и кросс-средства к нему разработали - С/С++ компиляторы, линкер, асм и HZ> прочее. В общем, народ пользуется.

Точно надо будет внимательнее присмотреться.

Reply to
Ilia Tarasov
1-Mar-04 22:09 Ilia Tarasov wrote to Harry Zhurov:

HZ>> И что в этом деле радует, так это то, что парни кроме процессора еще HZ>> и кросс-средства к нему разработали - С/С++ компиляторы, линкер, асм и HZ>> прочее. В общем, народ пользуется.

IT> Точно надо будет внимательнее присмотреться.

AFAIR, для ВУЗ-ов плата с ним в PCI продаётся со скидкой, а софт вообще придаётся бесплатно. По кр. мере несколько лет назад вроде бы так было.

wbr,

Reply to
Oleksandr Redchuk

Tue Mar 02 2004 01:01, Oleksandr Redchuk wrote to "Ilia Tarasov":

OR> AFAIR, для ВУЗ-ов плата с ним в PCI продаётся со скидкой, а софт OR> вообще придаётся бесплатно. OR> По кр. мере несколько лет назад вроде бы так было.

Я предпочитаю 100%-free... :) Hа PCI мы и сами поставим почти любой процессор, а различные kit-ы в реальных проектах неудобны хотя бы тем, что в случае успешного результата надо будет озадачиться покупкой весьма недешевого железа (это если без скидки, партию выпускать). Тем более что надарено от Xilinx-а кристаллов, Celoxica платы и софт дарит, сами что-то выпускаем. Всего этого богатства вполне хватает на текущие интересы. А с нейросетями надо начинать работать, используя те же ПЛИСы, на которых вдумчиво изучать алгоритмы и определять функциональность опытного образца. А уже потом ставить собственно нейропроцессор, обвязывая его нужным количеством памяти и интерфейсами...

Reply to
Ilia Tarasov

Пpивет Ilia! Ilia Tarasov --> Oleksandr Redchuk ( Tue Mar 02 2032, 01:22 )

IT> А с нейpосетями надо начинать pаботать, используя те же ПЛИСы, IT> на котоpых вдумчиво изучать алгоpитмы и опpеделять функциональность IT> опытного обpазца. А уже потом ставить собственно нейpопpоцессоp, IT> обвязывая его нужным количеством памяти и интеpфейсами...

Бyдь какой РАБОТАЮЩИЙ и _пpостой_ пpимеpчик с очевидным отличием алгоpитмического и нейpо pешения одинаковой задачи для начала.

-= Бpест. Павел Гpишин =-

Reply to
Pavel Grishin

ElectronDepot website is not affiliated with any of the manufacturers or service providers discussed here. All logos and trade names are the property of their respective owners.