![]() |
|
![]() ![]() ![]() |
|
bncom |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 170 Регистрация: 2.11.2005 Репутация: нет Всего: 1 |
Здравствуйте!
Сразу изменяюсь за то, что, возможно, тему создал не там, где положено. Просто другого более подходящего раздела не нашел. И так, собственно вопрос: на каком языке программирования, скажем даже, моделирования, разрабатывать нейронную сеть? Слышал, что такие языки есть и существуют, но в поиске ничего такого не нашел. Да, можно делать на С++ и т.п., но меня интересуют более "глубокие" языки, ориентированные именно на создание нейронных сетей. Если кто знает такие, напиши пожалуйста. --------------------
"Мы никогда не живем, мы лишь надеемся, что будем жить." Вольтер |
|||
|
||||
VictorTsaregorodtsev |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 274 Регистрация: 28.7.2006 Репутация: 3 Всего: 8 |
Раздел правильный.
Из спецязыков - NSL, например. Описан в книжке Weitzenfeld, Arbib, Alexander "The Neural Simulation Language - a system for brain modeling" 2002 года издания. Книга эта в инете где-то была. В книге есть ссылки на сайты с какими-то инструментами/программами, поддерживающими этот язык (но дожили ли эти сайты до сегодняшнего дня и будут ли работать те проги в Висте и Вин7 - не знаю). Язык этот ни в коем случае не стандарт и почти не распространен, совместимости со скриптовыми языками других нейропакетов тоже нет. В общем, сейчас наблюдается абсолютное многоязычие - если в какой-то нейропрограмме есть язык программирования, то он свой собственный (примеры - Матлаб с его нейробиблиотекой, NeuroSolution,...). Я сам пишу всё на обычном С/С++ плюс Ассемблер, потребности в специализированных языках не испытываю. Что, с моей точки зрения, сейчас может быть актуальным из языков для программирования нейросеток - так это совершенно не привязанные к нейросеткам языки программирования вычислений на видеокартах - CUDA, Brook. За счет значительно бОльшего числа параллельных процессоров (пиксельных или вершинных шейдеров) видяхи по сравнению с числом ядер проца (даже с учетом того, что каждое ядро может одной SSE-командой обрабатывать 4 плавучих операнда одинарной точности) ускорение расчетов получается в разы. |
|||
|
||||
W4FhLF |
|
|||
![]() found myself ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 2831 Регистрация: 2.12.2006 Репутация: 5 Всего: 121 |
А к чему именно вы бы применили эти технологии? Ну т.е. к каким алгоритмам, на какой стадии. Мне просто кажется сомнительным, что алгоритмы используемые в НС можно эффективно положить на GPU. Но я могу ошибаться. -------------------- "Бог умер" © Ницше "Ницше умер" © Бог |
|||
|
||||
VictorTsaregorodtsev |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 274 Регистрация: 28.7.2006 Репутация: 3 Всего: 8 |
часто выразимы в векторно-матричной арифметике. Например, многослойный персептрон (с обучением по обратному распространению) - он у меня больше 10 лет как запрограммирован через введение функций матрично-векторного произведения, векторно-матричного произведения, тензорного произведения векторов, сложения векторов, покоординатного нелинейного преобразования элементов вектора (ну и плюс добавочный код вокруг всего этого дела - перечислил только самые "ресурсоемкие" функции). И внутри всех перечисленных функций, кроме последней (покоординатная трансформация вектора), вычисления строятся вокруг команд умножения-сложения (с промежуточным накоплением, если необходимо). А это - та база, что нужна и 3Д-видео.
Т.е. самые нижние уровни (они же - самые тяжелые по времени исполнения) можно переносить на видеопроцессор, оставляя для обычного проца только управляющую логику верхнего уровня. Несколько конкретных подтверждающих перспективность переноса математики на GPU статей и проектов перечислены в написанной 4 года назад моей заметке про нейрокомпьютеры из видеокарт. Естественно, я назвал не всё существовавшее на тогдашний момент - а уж сейчас таких работ многие десятки. |
|||
|
||||
W4FhLF |
|
|||
![]() found myself ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 2831 Регистрация: 2.12.2006 Репутация: 5 Всего: 121 |
VictorTsaregorodtsev, действительно, поискал, есть даже реализации и уже отдельные библиотеки. Я уже, кстати, встречал SVM на CUDA (cuSVM).
-------------------- "Бог умер" © Ницше "Ницше умер" © Бог |
|||
|
||||
![]() ![]() ![]() |
Правила форума "Алгоритмы" | |
|
Форум "Алгоритмы" предназначен для обсуждения вопросов, связанных только с алгоритмами и структурами данных, без привязки к конкретному языку программирования и/или программному продукту.
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, maxim1000. |
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | Алгоритмы | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |