roboforum.ru

Технический форум по робототехнике.
Текущее время: 27 ноя 2024, 10:40

Часовой пояс: UTC + 4 часа




Начать новую тему Ответить на тему  [ Сообщений: 173 ]  На страницу Пред.  1, 2, 3, 4, 5, 6 ... 12  След.
Автор Сообщение
 Заголовок сообщения: Re: Что такое хорошо, а что такое плохо?
СообщениеДобавлено: 28 авг 2012, 19:05 
Не в сети
Аватара пользователя

Зарегистрирован: 06 окт 2004, 18:01
Сообщения: 24218
Откуда: Ебург
прог. языки: C++ / PHP / 1C
ФИО: Антон Ботов
Вроде OpenCL / CUDA не совсем фон-наймановские?

_________________
Проект [[Open Robotics]] - Универсальные модули для построения роботов


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Что такое хорошо, а что такое плохо?
СообщениеДобавлено: 28 авг 2012, 19:12 
Не в сети

Зарегистрирован: 15 дек 2010, 16:43
Сообщения: 118
Откуда: Тверь
прог. языки: С++
esisl писал(а):
Реализация нейросети на Фон-Неймановской машине параллелить не позволяет.

чето странные у вас какие-то представления о параллелизме..


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Что такое хорошо, а что такое плохо?
СообщениеДобавлено: 28 авг 2012, 21:36 
Не в сети

Зарегистрирован: 23 июл 2012, 15:24
Сообщения: 1480
Я наверно коряво выразился.
Алгоритм работы нейросети, нельзя разбить на куски, дать нескольким компьютерам и попросить их посчитать отдельно.
На каждом шаге обучения задействованы все нейроны. А связи между слоями "все-ко-всем".
Там бы шины данных "распараллелить" :) Например, каждый нейрон - отдельный специальный процессор, но мне в нейросети 25Х25Х1 нейрон надо передавать единовременно 25 цифр отдельно одновременно.
Можете себе представить, как оно будет выглядеть аппаратно?! :crazy:


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Что такое хорошо, а что такое плохо?
СообщениеДобавлено: 28 авг 2012, 21:55 
Не в сети
Аватара пользователя

Зарегистрирован: 06 окт 2004, 18:01
Сообщения: 24218
Откуда: Ебург
прог. языки: C++ / PHP / 1C
ФИО: Антон Ботов
Зато внутри 1 слоя вполне себе параллелится всё. Не?

_________________
Проект [[Open Robotics]] - Универсальные модули для построения роботов


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Что такое хорошо, а что такое плохо?
СообщениеДобавлено: 28 авг 2012, 22:21 
Не в сети

Зарегистрирован: 23 июл 2012, 15:24
Сообщения: 1480
А внутри слоя ничего параллелить смысла нет. Там тех вычислений с гулькин нос. И даже если представить себе гипотетическую картину, процессор на каждый нейрон, то посчитав, нужно результат передать одновременно на все нейроны следующего слоя. КАК? Там даже специальный аппарат не так просто сгородить.

Специализированные "нейропроцессоры", например NM40 - это самые обычные процессоры, просто со специализированными функциями. Там аппаратное умножение и прошиты таблицы нескольких вариантов переходной функции. Предназначены кстати, только для работы. Рассчитывать веса - будьте добры на универсальных компьютерах.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Что такое хорошо, а что такое плохо?
СообщениеДобавлено: 29 авг 2012, 00:04 
Не в сети

Зарегистрирован: 15 дек 2010, 16:43
Сообщения: 118
Откуда: Тверь
прог. языки: С++
esisl писал(а):
Я наверно коряво выразился.

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


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Что такое хорошо, а что такое плохо?
СообщениеДобавлено: 29 авг 2012, 01:50 
Не в сети
Аватара пользователя

Зарегистрирован: 06 окт 2004, 18:01
Сообщения: 24218
Откуда: Ебург
прог. языки: C++ / PHP / 1C
ФИО: Антон Ботов
esisl писал(а):
А внутри слоя ничего параллелить смысла нет. Там тех вычислений с гулькин нос.

Пусть имеем K-слойную сетку на каждом уровне N нейронов, связей между уровнями N*N. В общем случае самая куча вычислений идёт в связях, там и надо параллелить. Соответственно разделяем между вычислительными узлами хранение связей и их расчет, а состояния нейронов храним в общей памяти.

_________________
Проект [[Open Robotics]] - Универсальные модули для построения роботов


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Что такое хорошо, а что такое плохо?
СообщениеДобавлено: 29 авг 2012, 03:08 
Не в сети

Зарегистрирован: 16 окт 2009, 02:57
Сообщения: 11
Откуда: Биробиджан
(не умею часть цитаты вставить, поэтому ctrl+C=>ctrl+V)

«И да, если вы говорите "ослабить весовое значение", значит вы уже считаете, что это "плохо".
Просто не хотите себе в этом признаться»

=>Пересчитал на бумажке еще раз – признаюсь, немного неверно расценил результаты.

«Когда мой коллега экспериментировал с софтовым роботом на нейронах (биржевой игрок), то понятно, что было мерилом добра и зла - капуста. Видите, как всё просто»

=>Тоже согласен, бытие определяет сознание :)

_________________
Дорогу осилит идущий.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Что такое хорошо, а что такое плохо?
СообщениеДобавлено: 29 авг 2012, 03:25 
Не в сети
Аватара пользователя

Зарегистрирован: 13 июл 2012, 05:07
Сообщения: 220
Откуда: Челябинск
прог. языки: C++
ФИО: Дмитрий Толмачёв
gar_anat писал(а):
kran писал(а):
Когда мой коллега экспериментировал с софтовым роботом на нейронах (биржевой игрок), то понятно, что было мерилом добра и зла - капуста. Видите, как всё просто.
=>Тоже согласен, бытие определяет сознание :)
Да нет же, вы не со мной согласились, а с кем-то другим, с собой похоже. :)
Я имел ввиду, что создатель определяет сознание.

Когда создатель это бытие, природа, эволюция - тогда действует принцип "жизнь - хорошо; смерть - плохо" (напоминаю, речь идёт о выживании вида иногда, а не индивидуума)
Когда создатель это вы сами - тогда закладывайте свои собственный принципы. На фига вам "живой" робот? Да он вас ночью заколбасит, колбасу продаст и батарейки купит.

P.S.
gar_anat писал(а):
(не умею часть цитаты вставить, поэтому ctrl+C=>ctrl+V)
Вроде работает с зажатым шифтом клик по кнопке "цитата" при выделенном фрагменте. Вставлял из панели "обзор темы", она внизу под редактируемым текстом. Хотя по-моему легче один раз разобраться с синтаксисом, и потом править его руками как угодно - быстрее, чем на кнопки нажимать. Кому как, конечно.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Что такое хорошо, а что такое плохо?
СообщениеДобавлено: 29 авг 2012, 03:26 
Не в сети

Зарегистрирован: 16 окт 2009, 02:57
Сообщения: 11
Откуда: Биробиджан
ALV писал(а):
gar_anat писал(а):
моя цель сделать сеть из нескольких штук нейронов, не более 10.

Немого странно: обычно рассматривают сеть нейронов. Сам по себе нейрон - это некий триггер с определенным пороговым значением. И интересен результат срабатывания именно сети (комбинации), причем из довольно большого количества нейронов.
Если вы имеете в виду другое - используйте, пожалуйста, иную терминологию.


Хотелось бы, если бы я владел "иной" терминологией :) Но у меня нет в этой сфере никакого образования. О формальном нейроне я знаю только то, что мне дала википедия (т.е. я думаю, что формальный нейрон срабатывает в том случае, если сумма весов синапсов >= некому пороговому значению).

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

И потом, так как я не знаю теории с одной стороны, и не смог "применить" формальный нейрон с другой, я в начале поста указал, что делаю нечто отличное от формального нейрона. Возможно изобретаю велосипед, зато как интересно :)

_________________
Дорогу осилит идущий.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Что такое хорошо, а что такое плохо?
СообщениеДобавлено: 29 авг 2012, 04:30 
Не в сети

Зарегистрирован: 15 дек 2010, 16:43
Сообщения: 118
Откуда: Тверь
прог. языки: С++
нейронов опробовано много, формальных и не очень, да и ограничений на размеры сети никто вроде не вводил.. дело вкуса..
а вот матчасть за пределы википедии расширить лишнем не будет


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Что такое хорошо, а что такое плохо?
СообщениеДобавлено: 29 авг 2012, 05:44 
Не в сети
Аватара пользователя

Зарегистрирован: 13 июл 2012, 05:07
Сообщения: 220
Откуда: Челябинск
прог. языки: C++
ФИО: Дмитрий Толмачёв
gar_anat писал(а):
Хотелось бы, если бы я владел "иной" терминологией :) Но у меня нет в этой сфере никакого образования. О формальном нейроне я знаю только то, что мне дала википедия (т.е. я думаю, что формальный нейрон срабатывает в том случае, если сумма весов синапсов >= некому пороговому значению).
Даже в википедии больше написано. Только статья называется искусственный нейрон.

gar_anat писал(а):
И потом, так как я не знаю теории с одной стороны, и не смог "применить" формальный нейрон с другой, я в начале поста указал, что делаю нечто отличное от формального нейрона. Возможно изобретаю велосипед, зато как интересно :)
Если вы не знаете теорию формального нейрона, как вы можете утверждать, что делаете нечто отличное от формального нейрона? :)

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

Я сам профан, хоть мой приятель (игрок) и пытался мне кое-что в голову вбить, засели в ней только слова "сети", "слои" и "перцептрон". Так что я прямо сейчас, вот только что, порылся в википедии на эти примерно темы (см. ИНС, перцептрон, метод обратного распространения ошибки). Да, ещё вспомнил, что писать самому такие вещи не надо, есть куча софта для моделирования нейронных сетей.

Собственно, прочитанное заставляет усомниться в стимуле "хорошо". Раз обратно распространяются только ошибки, вроде достаточно одного только "плохо". "Плохо=0" - уже хорошо, и ничего никуда не распространяется. Возможно, именно в этом будет ваше "ноу-хау", что у вас будет ещё и "хорошо" распространяться с противоположным знаком (хотя последовательность 100...0 от -100...0...100 по-моему ничем не отличается принципиально). Но лично я бы сначала использовал стандартные методики, а потом отличные от них. Иначе как понять, чем ваша методика лучше или хуже?

И кстати, у меня сложилось впечатление, что обучают не сами нейроны, а связи между нейронами. Т.е. подкручивают коэффициенты, веса связей. Хотя наверное можно считать эти входящие связи аналогом дендритов биологического нейрона, и, следовательно, частью нейрона.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Что такое хорошо, а что такое плохо?
СообщениеДобавлено: 29 авг 2012, 16:57 
Не в сети

Зарегистрирован: 23 июл 2012, 15:24
Сообщения: 1480
Вот то-то и косяк, что нейронам нужен доступ к памяти одновременно. Тогда всё прекрасно параллелится. Но представьте себе такое даже просто по количеству шин :( 25 нейронов, хотя бы по 8 проводов к каждому... :))) В общем понятно :)))
Разве что пойти дальше и скопировать у природы передачу данных ШИМом, тогда можно одним проводом обойтись. Но всё равно. между слоями по 25 нейронов, получаем 225 проводочков :( Представимо конечно, но... Не для самодельщика.

Причём сеточка 25Х25Х1 - это так... Полуигрушка в сущности.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Что такое хорошо, а что такое плохо?
СообщениеДобавлено: 29 авг 2012, 17:09 
Не в сети
Аватара пользователя

Зарегистрирован: 06 окт 2004, 18:01
Сообщения: 24218
Откуда: Ебург
прог. языки: C++ / PHP / 1C
ФИО: Антон Ботов
Причем тут проводочки? Я имел в виду использование GPU.

_________________
Проект [[Open Robotics]] - Универсальные модули для построения роботов


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Что такое хорошо, а что такое плохо?
СообщениеДобавлено: 29 авг 2012, 17:20 
Не в сети
Аватара пользователя

Зарегистрирован: 26 ноя 2008, 16:44
Сообщения: 144
Откуда: Москва
Skype: wayfarerdimitri
прог. языки: VC++, немного asm, php, jScript,XSLT,LUA
esisl писал(а):
Вот то-то и косяк, что нейронам нужен доступ к памяти одновременно. Тогда всё прекрасно параллелится...

Странно что это вас удивляет. Одновременный доступ к памяти, в рамках x86, решенная задача.
PS. в природе используется не ШИМ, а ЧИМ(чистотно-импульсная модуляция).

_________________
Дорогу осилит идущий.


Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 173 ]  На страницу Пред.  1, 2, 3, 4, 5, 6 ... 12  След.

Часовой пояс: UTC + 4 часа


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

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


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
Русская поддержка phpBB
phpBB SEO