roboforum.ru

Технический форум по робототехнике.

Что такое хорошо, а что такое плохо?

Обсуждаем рождающиеся мысли и результаты экспериментов.

Re: Что такое хорошо, а что такое плохо?

Сообщение esisl » 29 авг 2012, 17:41

А при чём тут GPU??? Специализированные процессоры для нейросетей есть можно купить. В них нет ничего сакрального.

Одномоментный доступ к памяти не решён. Решена задача одновременного чтения и записи. А для нейросети нужно одновременно писать/читать столько чисел, сколько нейронов в слое. Никогде не слышал даже о экспериментальной памяти, позволяющей одновременно читать десяток разных ячеек.

Вопрос терминологии в данном случае не принципиален :) Важно что передача данных ведётся импульсами. Хотя в чистом виде это не ШИМ и не ЧИМ разумеется. Наверное правильнее всего будет сказать, что это "асинхронное однобитное кодирование".

Мысль в догонку... А вообще-то наверно можно сделать аппаратно память, которая такое позволит. Делаем столько комплектов ОЗУ, сколько у нас нейронов. ПИШЕМ одновременно во все ячейки с одним и тем же адресом в разных копиях ОЗУ, а ЧИТАТЬ можно одновременно из разных комплектов ОЗУ по разным адресам.
Но агрегат получится не для слабонервных...
esisl
 
Сообщения: 1456
Зарегистрирован: 23 июл 2012, 15:24

Re: Что такое хорошо, а что такое плохо?

Сообщение Duhas » 29 авг 2012, 17:48

угу, называется FPGA.
«Как сердцу выразить себя? … Мысль изреченная есть ложь!»
В этом мире меня подводит доброта и порядочность...
"двое смотрят в лужу, один видит лужу, другой отраженные в ней звезды"
Аватара пользователя
Duhas
 
Сообщения: 6338
Зарегистрирован: 15 сен 2007, 13:03
Откуда: Красноярск
прог. языки: ASM(МК), C(PC)
ФИО: Гагарский Андрей Александрович

Re: Что такое хорошо, а что такое плохо?

Сообщение =DeaD= » 29 авг 2012, 17:53

esisl писал(а):А для нейросети нужно одновременно писать/читать столько чисел, сколько нейронов в слое.

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

Добавлено спустя 36 секунд:
esisl писал(а):А при чём тут GPU??? Специализированные процессоры для нейросетей есть можно купить.

Сколько стоит соотв. процессор для нейросетей и соизмеримый по производительности GPU ?
Проект [[Open Robotics]] - Универсальные модули для построения роботов
Аватара пользователя
=DeaD=
 
Сообщения: 24218
Зарегистрирован: 06 окт 2004, 18:01
Откуда: Ебург
прог. языки: C++ / PHP / 1C
ФИО: Антон Ботов

Re: Что такое хорошо, а что такое плохо?

Сообщение esisl » 29 авг 2012, 17:55

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

Другой вопрос, что для мало-мальски интересных в робототехнике целей 25 входных нейронов - маловато будет :(

В GPU прошиты переходные функции??? Я просто не знаю нужны ли они графическому процессору. Чото сомневаюсь. А цена NM40 кажется около 10$ лень гуглить...

Да СЧИТАТЬ в нейросети особо нечего. Там три действия арифметики и одна табличная функция. Проблема именно в том, что нужно постоянно гонять вверх-вниз массив данных. Причём по связям все-ко-всем. А итераций там...
Последний раз редактировалось esisl 29 авг 2012, 17:58, всего редактировалось 1 раз.
esisl
 
Сообщения: 1456
Зарегистрирован: 23 июл 2012, 15:24

Re: Что такое хорошо, а что такое плохо?

Сообщение Duhas » 29 авг 2012, 17:57

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

нам тоже преподаватель говорил что осознав архитектуру 8080 мы поймем все..

ПС почитайте что такое современные FPGA...
«Как сердцу выразить себя? … Мысль изреченная есть ложь!»
В этом мире меня подводит доброта и порядочность...
"двое смотрят в лужу, один видит лужу, другой отраженные в ней звезды"
Аватара пользователя
Duhas
 
Сообщения: 6338
Зарегистрирован: 15 сен 2007, 13:03
Откуда: Красноярск
прог. языки: ASM(МК), C(PC)
ФИО: Гагарский Андрей Александрович

Re: Что такое хорошо, а что такое плохо?

Сообщение esisl » 29 авг 2012, 18:04

А чего с этими ПЛИСинами не так? Ну быстрее. Ну готовые блоки есть хорошие, каких раньше не было. Но проетировать одну и ту же микросхему на ПЛИС сложнее и получится хуже чем на голый кремний. Просто ПЛИС позволило делать специализированные микрухи "своими силами". Хорошая вещь. Но не "серебряная пуля".
esisl
 
Сообщения: 1456
Зарегистрирован: 23 июл 2012, 15:24

Re: Что такое хорошо, а что такое плохо?

Сообщение Duhas » 29 авг 2012, 18:12

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

с вами сложно.. то нельзя одновременно брать данные из памяти, то решение не из серебра.. вы серьезно думаете что разработка в кремнии нового чипа проще/быстрее/дешевле пути ПЛИС или ПЛИС/АСИК?
«Как сердцу выразить себя? … Мысль изреченная есть ложь!»
В этом мире меня подводит доброта и порядочность...
"двое смотрят в лужу, один видит лужу, другой отраженные в ней звезды"
Аватара пользователя
Duhas
 
Сообщения: 6338
Зарегистрирован: 15 сен 2007, 13:03
Откуда: Красноярск
прог. языки: ASM(МК), C(PC)
ФИО: Гагарский Андрей Александрович

Re: Что такое хорошо, а что такое плохо?

Сообщение esisl » 29 авг 2012, 18:22

Готтсподи! Да разумеется я так не думаю! Но нарисовать на голом кремнии при современных средствах разработки, всё же проще чем на ПЛИСине. Другое дело, что на практике, разумеется с ПЛИС проще. Уж во всяком случае фаб на кухне держать не надо :-D

Короче, поскольку в AVR всё равно не запихнуть, и даже преимущества ПЛИС не отменяют того факта, что разработка такого весьма специализированного и полуигрушечного девайса потребует крайне серьёзной и объёмной работы. Результат же... Ну не знаю. "Может быть... когда-нибудь... в далёкой-далёкой галактике..." (с) :)
esisl
 
Сообщения: 1456
Зарегистрирован: 23 июл 2012, 15:24

Re: Что такое хорошо, а что такое плохо?

Сообщение =DeaD= » 29 авг 2012, 18:32

esisl писал(а):В GPU прошиты переходные функции??? Я просто не знаю нужны ли они графическому процессору. Чото сомневаюсь. А цена NM40 кажется около 10$ лень гуглить...

Зашибись, ни сравнения, ни производительности конкретных чипов, да еще и лень гуглить.
Проект [[Open Robotics]] - Универсальные модули для построения роботов
Аватара пользователя
=DeaD=
 
Сообщения: 24218
Зарегистрирован: 06 окт 2004, 18:01
Откуда: Ебург
прог. языки: C++ / PHP / 1C
ФИО: Антон Ботов

Re: Что такое хорошо, а что такое плохо?

Сообщение esisl » 29 авг 2012, 18:54

Конечно лень :) Работаю я на работе или в мастерской :-D
esisl
 
Сообщения: 1456
Зарегистрирован: 23 июл 2012, 15:24

Re: Что такое хорошо, а что такое плохо?

Сообщение Angel71 » 29 авг 2012, 19:37

esisl, во первых количество выполняемых операций зависит от модели нейрона и сети. в одном случае вы можете на допотопном компе за долю секунды перелопатить десятки миллионов нейронов, в другом вы на мощном современном n ядернике захлебнётесь на наскольких тысячах (образно).
с гпу это тупняк, какие ещё зашитые переходные ф-и? сначала в принципы устройства и работы гпу вникните, хотя бы по таким кратеньким обзорам. что вычислительные блоки будут с данными делать зависит от вашей программы. для этого есть шейдеры. есть у вашей видюшки вычислительные шейдеры, используете их. нет, выкручиваетесь пиксельными, вершинными, геометрическими шейдерами или ищите другую вычислялку. как вы там до этого всего будете добираться, это ваши проблемы - есть cuda, opencl, directx и прочие, при желании можете минуя их на низком уровне работать.
с параллелизмом у вас не лучше. существует параллелизм данных, параллелизм задач. типы параллелизма на этом не заканчиваются, но вы хоть в эти два вникните.
:)
Последний раз редактировалось Angel71 29 авг 2012, 19:40, всего редактировалось 1 раз.
Аватара пользователя
Angel71
 
Сообщения: 10668
Зарегистрирован: 18 апр 2009, 22:18
Предупреждения: -1

Re: Что такое хорошо, а что такое плохо?

Сообщение =DeaD= » 29 авг 2012, 19:40

Ему лень, он занимается переходно-функцие-закидательством :)
Проект [[Open Robotics]] - Универсальные модули для построения роботов
Аватара пользователя
=DeaD=
 
Сообщения: 24218
Зарегистрирован: 06 окт 2004, 18:01
Откуда: Ебург
прог. языки: C++ / PHP / 1C
ФИО: Антон Ботов

Re: Что такое хорошо, а что такое плохо?

Сообщение esisl » 29 авг 2012, 19:46

Спасибо конечно за комплименты :)
Если всё так плохо то о чём говорить? Рисуйте топикстартеру схему и вперёд :)
esisl
 
Сообщения: 1456
Зарегистрирован: 23 июл 2012, 15:24

Re: Что такое хорошо, а что такое плохо?

Сообщение Duhas » 29 авг 2012, 19:50

топикстартер на стадии разработки модели нейрона, как он сам и сказал.
«Как сердцу выразить себя? … Мысль изреченная есть ложь!»
В этом мире меня подводит доброта и порядочность...
"двое смотрят в лужу, один видит лужу, другой отраженные в ней звезды"
Аватара пользователя
Duhas
 
Сообщения: 6338
Зарегистрирован: 15 сен 2007, 13:03
Откуда: Красноярск
прог. языки: ASM(МК), C(PC)
ФИО: Гагарский Андрей Александрович

Re: Что такое хорошо, а что такое плохо?

Сообщение =DeaD= » 29 авг 2012, 20:56

esisl писал(а):Рисуйте топикстартеру схему и вперёд :)

Схему современных GPU? А смысл? Он будет заказывать чип на заводе? Денег хватит? :)
Проект [[Open Robotics]] - Универсальные модули для построения роботов
Аватара пользователя
=DeaD=
 
Сообщения: 24218
Зарегистрирован: 06 окт 2004, 18:01
Откуда: Ебург
прог. языки: C++ / PHP / 1C
ФИО: Антон Ботов

Пред.След.

Вернуться в Идеи

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 4