Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Программирование нейронных сетей 
:(
    Опции темы
bncom
Дата 9.4.2010, 14:49 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 170
Регистрация: 2.11.2005

Репутация: нет
Всего: 1



Здравствуйте!

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

И так, собственно вопрос: на каком языке программирования, скажем даже, моделирования, разрабатывать нейронную сеть? Слышал, что такие языки есть и существуют, но в поиске ничего такого не нашел.

Да, можно делать на С++ и т.п., но меня интересуют более "глубокие" языки, ориентированные именно на создание нейронных сетей. Если кто знает такие, напиши пожалуйста.
--------------------
"Мы никогда не живем, мы лишь надеемся, что будем жить." Вольтер 
PM MAIL   Вверх
VictorTsaregorodtsev
Дата 9.4.2010, 15:22 (ссылка) |    (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 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 плавучих операнда одинарной точности) ускорение расчетов получается в разы.
PM MAIL WWW   Вверх
W4FhLF
Дата 9.4.2010, 15:45 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


found myself
****


Профиль
Группа: Участник Клуба
Сообщений: 2831
Регистрация: 2.12.2006

Репутация: 5
Всего: 121



Цитата(VictorTsaregorodtsev @  9.4.2010,  15:22 Найти цитируемый пост)
Что, с моей точки зрения, сейчас может быть актуальным из языков для программирования нейросеток - так это совершенно не привязанные к нейросеткам языки программирования вычислений на видеокартах - CUDA, Brook.


А к чему именно вы бы применили эти технологии? Ну т.е. к каким алгоритмам, на какой стадии. Мне просто кажется сомнительным, что алгоритмы используемые в НС можно эффективно положить на GPU. Но я могу ошибаться. 


--------------------
"Бог умер" © Ницше
"Ницше умер" © Бог
PM ICQ   Вверх
VictorTsaregorodtsev
Дата 9.4.2010, 22:41 (ссылка) |    (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 274
Регистрация: 28.7.2006

Репутация: 3
Всего: 8



Цитата(W4FhLF @  9.4.2010,  15:45 Найти цитируемый пост)
алгоритмы используемые в НС 
 часто выразимы в векторно-матричной арифметике. Например, многослойный персептрон (с обучением по обратному распространению) - он у меня больше 10 лет как запрограммирован через введение функций матрично-векторного произведения, векторно-матричного произведения, тензорного произведения векторов, сложения векторов, покоординатного нелинейного преобразования элементов вектора (ну и плюс добавочный код вокруг всего этого дела - перечислил только самые "ресурсоемкие" функции). И внутри всех перечисленных функций, кроме последней (покоординатная трансформация вектора), вычисления строятся вокруг команд умножения-сложения (с промежуточным накоплением, если необходимо). А это - та база, что нужна и 3Д-видео.
Т.е. самые нижние уровни (они же - самые тяжелые по времени исполнения) можно переносить на видеопроцессор, оставляя для обычного проца только управляющую логику верхнего уровня.
Несколько конкретных подтверждающих перспективность переноса математики на GPU  статей и проектов перечислены в написанной 4 года назад моей заметке про нейрокомпьютеры из видеокарт. Естественно, я назвал не всё существовавшее на тогдашний момент - а уж сейчас таких работ многие десятки.
PM MAIL WWW   Вверх
W4FhLF
Дата 10.4.2010, 03:51 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


found myself
****


Профиль
Группа: Участник Клуба
Сообщений: 2831
Регистрация: 2.12.2006

Репутация: 5
Всего: 121



VictorTsaregorodtsev, действительно, поискал, есть даже реализации и уже отдельные библиотеки. Я уже, кстати, встречал SVM на CUDA (cuSVM). 


--------------------
"Бог умер" © Ницше
"Ницше умер" © Бог
PM ICQ   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Алгоритмы"

maxim1000

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


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, maxim1000.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Алгоритмы | Следующая тема »


 




[ Время генерации скрипта: 0.0718 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.