Список форумов neuroproject.ru neuroproject.ru
Форум сайта компании НейроПроект
 
 FAQFAQ   ПоискПоиск   ПользователиПользователи   ГруппыГруппы   РегистрацияРегистрация 
 ПрофильПрофиль   Войти и проверить личные сообщенияВойти и проверить личные сообщения   ВходВход 

Возможности ускорения процесса обучения НС.

 
Начать новую тему   Ответить на тему    Список форумов neuroproject.ru -> Другие задачи
Предыдущая тема :: Следующая тема  
Автор Сообщение
Finder
Новый посетитель
Новый посетитель


Зарегистрирован: 09 Июл 2007
Сообщения: 20

СообщениеДобавлено: Чт Окт 18, 2007 8:52 am    Заголовок сообщения: Возможности ускорения процесса обучения НС. Ответить с цитатой

Вот такой вопрос. На сколько увеличение характеристик компа может дать убыстрение процесса обучения НС.
Практический пример. Написан в VBA софт для работы с модульными сетями. Обучение BackProp + доводка рандомным улучшающим поиском в окрестности значений весов. При количестве вх. полей до 50-80 и записей до 5000-7000 при нескольких сетевых модулей - все "летает". Как только количество полей переваливает за 100 и модулей > 7-10 - очень тормозит. Одну систему обучать приходится за 20-40 часов.
Процессор 2ГГЦ + 250 озу. Даст ли более мощный процессор или увеличение оперативной убыстрение обучения? Поделитесь опытом, кто имеет, please.
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
Victor G. Tsaregorodtsev
Эксперт
Эксперт


Зарегистрирован: 28 Июн 2005
Сообщения: 247
Откуда: Красноярск

СообщениеДобавлено: Пт Окт 19, 2007 3:44 pm    Заголовок сообщения: Ответить с цитатой

VBA - псевдокомпилятор или реальный компилятор? У меня недавний опыт работы с одним из псевдокомпиляторов для С-подобного языка дал проигрыш в скорости для математических задачек порядка 20 раз по сравнению с реальным компилятором.

Думаю, что улучшение от нового компа может дать ускорение максимум раз в пять, тем более что VBA вряд ли будет автоматически распараллеливать прогу на несколько ядер современного многоядерного проца. Оперативка - если сейчас программа при обучении сети к винчестеру не лезет, то памяти хватает и рост объема памяти вряд ли поможет ускорить в разы.

Причина в торможении при росте числа модулей - а фиг его знает, информации мало, а я не телепат Wink

Остаются следующие возможности (сами расставьте их по порядку предпочтений или трудозатрат):
1. Нормальный оптимизирующий компилятор вместо васика, он позволит задействовать и расширения системы команд современных процов, которые (команды то-есть) позволяют обрабатывать несколько операндов за такт.
2. Другие алгоритмы обучения сетки или более лучшие настройки текущих алгоритмов.
3. Сервис, влияющий на скорость обучения - например, правильная предобработка данных.
4. Спецалгоритмы для модульных сеток - например, можно попробовать темперирование весов и центрирование градиентов от Nicol Schraudolph (вдруг у Вас именно модульность всё ломает, а указанные алгоритмы лечат как раз послойное структурное рассогласование сетки).
_________________
neuropro.ru - нейронные сети, анализ данных, прогнозирование
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Отправить e-mail Посетить сайт автора
siteadmin
НейроПроект
НейроПроект


Зарегистрирован: 10 Июн 2005
Сообщения: 80
Откуда: Москва

СообщениеДобавлено: Пт Окт 19, 2007 8:03 pm    Заголовок сообщения: Ответить с цитатой

можно расчетную логику прятать в DLL, писаные на C или чемто вроде этого. и тягать эти dll из VB. а на VB писать в основном интерфейсную логику. или хотябы в dll выделять самые наименее эффективно выполняющиеся в vba операции
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Посетить сайт автора
Finder
Новый посетитель
Новый посетитель


Зарегистрирован: 09 Июл 2007
Сообщения: 20

СообщениеДобавлено: Сб Окт 20, 2007 4:17 pm    Заголовок сообщения: Ответить с цитатой

Спасибо всем большое за инфу.


1. Компилятор - ACCESS 2000 -ный (ДОБАВЛЕНО: - sorry, в смысле VB6). Я специально оптимизировал код, чтобы в execute не было ничего кроме голых циклов для скорости. Без ACCESS сложновато обойтись, потому как вcе интегрировано
полностью в его структуру (данные).


2. "Другие алгоритмы обучения сетки или более лучшие настройки текущих алгоритмов."

- Тут как раз и работаю. В частности там "плавающий" коэф.обучения - свой на каждую сетку (что естественно ИМХО) и скорость "вверх-вниз" можно программно менять.
Но вот сам процесс таков: 1. Дла каждой сетки пробегает эпоху по всем записям - модифицируя веса в каждой точке. 2. Считает общую невязку (еще один пробег) 3.Ежели больше чем предыдущее наилучшее - не сохраняет изменения и идет к следующей сетке. Полагаю - это не самый быстрый способ, но зато надежный. Пока не представляю - что можно улучшить. Самый долгий момент когда сеть пытается нарастить веса связанных модулей (как воду в сообщающихся сосудах) идя по градиенту, но рассматривает их по отдельности, затрачивая уйму времени на выравнивание. И при этом уменьшить количество модулей (слить в один) не получается из-за сути задачи.


3. "Спецалгоритмы для модульных сеток - например, можно попробовать темперирование весов и центрирование градиентов от Nicol Schraudolph (вдруг у Вас именно модульность всё ломает, а указанные алгоритмы лечат как раз послойное структурное рассогласование сетки)." -

Где такое можно в русском увидеть? Я искал алгоритмы для модульных сеток - ничего не нашел.



Цитата:
"можно расчетную логику прятать в DLL, писаные на C или чемто вроде этого. и тягать эти dll из VB. а на VB писать в основном интерфейсную логику. или хотябы в dll выделять самые наименее

эффективно выполняющиеся в vba операции"

Да, это в планах попробовать.


Последний раз редактировалось: Finder (Вс Окт 21, 2007 8:54 pm), всего редактировалось 1 раз
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
Victor G. Tsaregorodtsev
Эксперт
Эксперт


Зарегистрирован: 28 Июн 2005
Сообщения: 247
Откуда: Красноярск

СообщениеДобавлено: Сб Окт 20, 2007 4:39 pm    Заголовок сообщения: Ответить с цитатой

Цитата:
Где такое можно в русском увидеть? Я искал алгоритмы для модульных сеток - ничего не нашел.

На русском этого нет. И это реально не для модульных сеток, а просто универсальный способ для предотвращения затыкания в каком-то слое сети. По ФИ автора можно найти его страничку со статьями, там смотреть на статьи середины-конца 90-х.
_________________
neuropro.ru - нейронные сети, анализ данных, прогнозирование
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Отправить e-mail Посетить сайт автора
yabixoruy
Участник форума
Участник форума


Зарегистрирован: 05 Июл 2018
Сообщения: 83

СообщениеДобавлено: Пт Июл 06, 2018 1:03 pm    Заголовок сообщения: Ответить с цитатой

http://startupambition.com/naturalnaya-grud/ натуральная грудь в горячих порно видео
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
Показать сообщения:   
Начать новую тему   Ответить на тему    Список форумов neuroproject.ru -> Другие задачи Часовой пояс: GMT + 4
Страница 1 из 1

 
Перейти:  
Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете голосовать в опросах


Rambler's Top100 Rambler's Top100