5

Я только что создал ОЧЕНЬ большую нервную сеть, хотя и на очень мощном оборудовании, и представь себе мой шок и разочарование, когда я понял, что NeuralFit [] из пакета NeuralNetworks, похоже, использует только одно ядро ​​и даже не в полной мере. Я был разбит сердцем. Должен ли я действительно писать всю реализацию NN с нуля? Или я пропустил что-то простое?Пакет Neural Networks в Wolfram Mathematica не параллелен?

Моя сеть взяла 200 входов для 2 скрытых слоев из 300 нейронов, чтобы произвести 100 выходов. Я понимаю, что мы говорим о триллионах вычислений, но до тех пор, пока я знаю, что мое оборудование - это слабое место, можно обновить. Он должен хорошо тренироваться с такой сетью, если остался один на некоторое время (4-гигабайтная 8-потоковая машина с 24 ГБ 2000 МГц памяти CL7 с дисками SSD-RAID-0 на SATA-III - я уверен).

Идеи? Предложения? Спасибо заранее за ваш вклад.

+1

«шок», «разочарование», «убитый горем». Хм, звучит немного как реакция сверху, если вы спросите меня. Во всяком случае, мне интересно, можно ли легко распараллелить NN. При всех этих взаимосвязях, вероятно, потребуется большая связь между ядрами, которые будут иметь значительное влияние на скорость. –

+0

Возможно, вы захотите прочитать этот блог (http://textanddatamining.blogspot.com/2011/11/buy-or-build-practical-example-to.html) о реализации NN с Mathematica –

+5

"звучит немного как если бы вы спросили меня, - если вы платите деньги за пакет от компании с проверенным послужным списком ОЧЕНЬ высоких математических решений, а затем вы бросаете проблему реального мира, которая не может сделать ни одной итерации обучение в течение 24 часов, да, я бы сказал, что это хорошая причина немного эмоционально. :-) Кроме того, у меня есть страсть к тому, что я делаю, это не все номера для меня, и это не моя работа, это мой личный «ребенок». –

ответ

1

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

+0

+1 Если бы вы могли предоставить немного больше деталей в своем ответе –

+0

@berniethejet: у вас есть контактные данные? Пакет продается вольфрам без ссылки на автора. Я хотел бы обратиться к автору и обсудить с ним некоторые изменения и дополнения к пакету. Даже готовы внести код или время для кодирования. –

+0

@Gregory: Имя автора - Jonas Sjöberg. Вы правы, он не рекламирует свою собственность на пакет. Он представил на конференции несколько лет назад: http://library.wolfram.com/infocenter/Conferences/5417/ – berniethejet

0

Я не уверен, как вы написали код или как он написан внутри пакета, который вы используете; попробуйте использовать векторизацию, это действительно ускоряет вычисления линейной алгебры. В курсе ml-class.org вы можете увидеть, как это сделано.

2

Я являюсь автором пакета нейронной сети. Легко распараллеливать оценку нейронной сети с учетом ввода. То есть вычислять выходные данные сети с учетом входных данных (и всех весов, параметров сети). Тем не менее, эта оценка не требует много времени, и для большинства проблем не очень важно ее параллелизировать. С другой стороны, обучение сети часто занимает много времени и, к сожалению, нелегко распараллеливать. Обучение может быть выполнено с помощью разных алгоритмов, а лучшие из них нелегко распараллеливать. Моя контактная информация находится на домашней странице продукта в сети Wolfram. Предложения по улучшению приветствуются.

Последняя версия пакета прекрасно работает с одной версией 9 и 10, если вы отключите панель предложений (в соответствии с настройками). Причина этого в том, что пакет использует старый HelpBrowser для документации, и он разбивается в сочетании с панелью предложений.

ваш Jonas