roboforum.ru

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

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

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

esisl » 29 авг 2012, 17:41

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

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

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

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

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

Duhas » 29 авг 2012, 17:48

угу, называется FPGA.

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

=DeaD= » 29 авг 2012, 17:53

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

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

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

Сколько стоит соотв. процессор для нейросетей и соизмеримый по производительности GPU ?

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

esisl » 29 авг 2012, 17:55

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

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

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

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

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

Duhas » 29 авг 2012, 17:57

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

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

ПС почитайте что такое современные FPGA...

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

esisl » 29 авг 2012, 18:04

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

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

Duhas » 29 авг 2012, 18:12

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

с вами сложно.. то нельзя одновременно брать данные из памяти, то решение не из серебра.. вы серьезно думаете что разработка в кремнии нового чипа проще/быстрее/дешевле пути ПЛИС или ПЛИС/АСИК?

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

esisl » 29 авг 2012, 18:22

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

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

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

=DeaD= » 29 авг 2012, 18:32

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

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

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

esisl » 29 авг 2012, 18:54

Конечно лень :) Работаю я на работе или в мастерской :-D

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

Angel71 » 29 авг 2012, 19:37

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

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

=DeaD= » 29 авг 2012, 19:40

Ему лень, он занимается переходно-функцие-закидательством :)

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

esisl » 29 авг 2012, 19:46

Спасибо конечно за комплименты :)
Если всё так плохо то о чём говорить? Рисуйте топикстартеру схему и вперёд :)

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

Duhas » 29 авг 2012, 19:50

топикстартер на стадии разработки модели нейрона, как он сам и сказал.

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

=DeaD= » 29 авг 2012, 20:56

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

Схему современных GPU? А смысл? Он будет заказывать чип на заводе? Денег хватит? :)


Rambler\'s Top100 Mail.ru counter