Я ищу творческие способы ускорить время обучения для своих нейронных сетей, а также, возможно, уменьшить исчезающий градиент. Я рассматривал возможность разбить сеть на разные узлы, используя классификаторы на каждом узле в качестве «ускорителей» backprop, а затем укладывая узлы друг на друга с разреженными соединениями между каждым узлом (столько, сколько я могу уйти без сети Ethernet насыщение делает его бессмысленным). Если я это сделаю, я не уверен, что мне нужно поддерживать какое-то состояние между узлами и синхронно поездить на одном и том же примере (возможно, он побеждает цель ускорения процесса), ИЛИ я могу просто тренироваться с одними и теми же данными, но асинхронно. Я думаю, что могу, и весовое пространство все еще может обновляться и распространяться по моим разреженным связям между узлами, даже если они тренируются на разных примерах, но неопределенно. Может кто-то подтвердить это возможно или объяснить, почему нет?Обновление весового пространства SGD с асинхронным обучением
ответ
Возможно сделать то, что вы предлагаете, однако это громадное количество работы для одного человека. Самый последний пример, о котором я знаю, - это ракурс «DistBelief», разработанный большой исследовательской/инженерной группой в Google - см. Статью NIPS 2012 года по адресу http://static.googleusercontent.com/media/research.google.com/en//archive/large_deep_networks_nips2012.pdf.
Вкратце, подход DistBelief разделяет единицы в нейронной сети, так что каждый рабочий компьютер в кластере отвечает за некоторое непересекающееся подмножество общей архитектуры. В идеале разделы выбираются так, чтобы минимизировать требуемую межмашинную связь (т. Е. Минимальный разрез по сетевому графику).
Рабочие выполняют вычисления локально для своей части сети, а затем отправляют обновления другим работникам по мере необходимости для ссылок, пересекающих границы машины.
Обновление параметров осуществляется отдельным «сервером параметров». Рабочие отправляют градиентные вычисления на сервер параметров и периодически получают обновленные значения параметров с сервера.
Вся установка работает асинхронно и работает очень хорошо. Из-за асинхронности вычислений значения параметров для данного вычисления могут быть «устаревшими», но они обычно не слишком далеко. И ускорение довольно хорошее.
Спасибо. Я знал об этом, но это отличное напоминание о том, что мне нужно углубиться в детали. Основываясь на обзорах, я прислушался к этому подходу, хотя они до сих пор не совсем решили узкое место в пространстве больших пространственных данных, хотя они, вероятно, близки друг к другу. , Точка взята на степень сложности, как хорошо! Существует много способов укрывать кошку, и трудовые усилия определенно определяют, какие подходы применяются на практике. Во всяком случае, неудача при этом более интересна, чем преуспеть в других вещах, над которыми я сейчас работаю! Еще раз спасибо. – elligottmc
- 1. Назадпродажа: обновление первого весового слоя
- 2. обновление всплывающих окон с асинхронным URL-адресом
- 3. Проблемы с Android-обучением
- 4. Проблемы с обучением MongoDB
- 5. Проблемы с обучением JOptionPane?
- 6. Проблемы с функциональным обучением
- 7. Борьба с обучением solr
- 8. Проблемы с обучением Gridview
- 9. Технологии весового досуга/webservice
- 10. инверсная интерполяция весового интервала
- 11. Ограничение записей весового вектора
- 12. классификация чувств с контролируемым обучением
- 13. Sci-Kit Изучите проблемы с классификатором SGD
- 14. Theano - SGD с 1 скрытым слоем
- 15. caffe python manual sgd
- 16. SGD модель «overconfidence»
- 17. SKlearn SGD Partial Fit
- 18. LinearLayout align Textviews с использованием весового параметра
- 19. Расчет весового коэффициента с Hive UDF
- 20. ошибка с запуском простого весового приложения
- 21. Получение весового контроллера 404 RESTful
- 22. SGD с импульсом в тензорном потоке
- 23. Theano With Python2.7: SGD с несколькими потерями
- 24. SGD с регуляцией L2 в mllib
- 25. Система управления обучением с использованием php codeigniter?
- 26. Tensorflow ValueError на session.run с пакетным обучением
- 27. removeSparseTerms с обучением и тестированием набор
- 28. Как запустить обратное предсказание с машинным обучением?
- 29. Пакет RSNNS с раздельным обучением и тестом
- 30. Идентификация изображения «Сценарий игры» с глубоким обучением
Вам лучше задавать такие теоретические вопросы на https://stats.stackexchange.com или https://datascience.stackexchange.com –
Не изобретайте велосипед. Наиболее вероятным результатом является то, что вы найдете очень субоптимальное решение. Десятки исследователей сделали это перед вами - используйте накопленные знания, вот что такое наука. http://www.cs.swarthmore.edu/~newhall/papers/pdcn08.pdf http://www.dcs.bbk.ac.uk/~gmagoulas/Distributed_computing_neural.pdf – lejlot
Хм мне было бы не согласиться с тем, что это «колесо» существует. Ответ ниже указывает на близкий подход, но существует довольно широкий консенсус в отношении того, что эта проблема остается нерешенной из-за сетевого ограничения сети. – elligottmc