"Новый нейронный" - проект Open Source движка нейронной сети для платформы MetaTrader 5. - страница 73
Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
PreProcessor именно для этого
Хоть 2 нейрона, хоть 100, - вид файла один и тот же
Ну, а кому графически, так никто не мешает - пишем GUI и пользуем
Хорошо, не будем с плеча рубить, давай по полочкам всё разложим. Не факт что для других так же, но для меня способ загрузки что я выше выложил очевиден в плане алгоритма загрузки:
прочитал строку, инициализировал 3 объекта типа слой,
считываем первую строку, далее вызываем первый объект слой, конструируем тип слоя input, инициализируем массив нейронов в количестве 2.
считываем вторую строку, далее вызываем второй объект слой, конструируем тип слоя mlp, инициализируем массив нейронов в количестве 2.
считываем третью строку, далее вызываем второй объект слой, конструируем тип слоя mlp, инициализируем массив нейронов в количестве 1.
так как количество слоёв 3 то на третьей строке конструирование заканчиваем далее присваиваем связи.
для чего проходим по таблице и вызываем нужные нейроны сообщаем им связи если в таблице стоит 1.
А как алгоритм будет работать в xml ?
ЗЫ и главное преимущество поскольку таблица связей бинарная она прекрасно жмётся. таблица для 8 нейронов умещается в одном ulong. Правда чем дальше в лес тем толще партизаны вообще размер при большом количестве нейронов высчитывается как
X=N*N/8
где N количество нейронов,
X это количество байт.
Недостатки
Я предлагаю XML в качестве стандарта хранения конфигураций, сетей, настроек, ...
И нужен он только на этапах инициализации/сохранения
В процессе рабочего хода, и тем более - обучения, ни о каком XML'e речь не идет
Извиняюсь за плагиат.
Угу, но почему-то такие монстры как Oracle, Microsoft, ... скрипя зубами засовывают свои "бинарные" (как правило коммерческие) стандарты подальше и разворачиваются лицом к открытым стандартам
Вычитать 10 МБайт XML - это не проблема для современных компьютеров
Документ .docx MS Word размером 100 МБайт не пугает ?
Если проблемой будет загрузить сеть из XML-файла, то обучить ее на таком оборудовании будет просто нереально - это задачи несравнимые по сложности
Я предлагаю XML в качестве стандарта хранения конфигураций, сетей, настроек, ...
И нужен он только на этапах инициализации/сохранения
В процессе рабочего хода, и тем более - обучения, ни о каком XML'e речь не идет
Вот смотри твой файлик в xml имеет размер 916 байт, а в бинарном представлении даже если не жать шапку 64 байта
7 переменных шапки + 1 на таблицу = 8 ulong * 8 байт= 64
Вот смотри твой файлик в xml имеет размер 916 байт, а в бинарном представлении даже если не жать шапку 64 байта
7 переменных шапки + 1 на таблицу = 8 ulong * 8 байт= 64
Чтобы открыть эту страницу форума, я прокачиваю через инет не меньше сотни килобайт
На носу 2012 год и такой единицей измерения как байт я уже давно не пользуюсь ))
P.S.
Я лишь предложил свой вариант - решать общественности
Я предлагаю XML в качестве стандарта хранения конфигураций, сетей, настроек, ...
И нужен он только на этапах инициализации/сохранения
В процессе рабочего хода, и тем более - обучения, ни о каком XML'e речь не идет
Для оптимизации структуры сети необходимо (налету) менять количество нейронов и связи.
Можно ли это сделать?
Если несложно, комментируйте ваши коды, сами знаете, в чужих кодах долго разбираться без комментов. Спасибо.
Для оптимизации структуры сети необходимо (налету) менять количество нейронов и связи.
Можно ли это сделать?
Если несложно, комментируйте ваши коды, сами знаете, в чужих кодах долго разбираться без комментов. Спасибо.
Это уже вопросы обучения. Потенциально - есть такая возможность, на практике ею не пользовался
Обычно в процессе обучения структура сети не меняется - меняются лишь адаптивные параметры
Ваша постановка задачи - это уже мета-уровень: обучить архитектора менять структуру сети так, чтобы полученная сеть обучалась успешнее других
Коды выложил "как есть" - делал для себя и, как обычно, на скорую руку, так что извините
По-хорошему, там надо все заново перебирать по косточкам после того, как будет проработан весь проект
Чтобы открыть эту страницу форума, я прокачиваю через инет не меньше сотни килобайт
На носу 2012 год и такой единицей измерения как байт я уже давно не пользуюсь ))
P.S.
Я лишь предложил свой вариант - решать общественности
Давайте поставим експеримент, создайте xml загрузчик сетки на 1000 нейронов по 100 связей на нейрон, и опубликуйте размер файла, структура какая вам угодно.
Просто я могу на коленках посчитать сколько займёт места мой вариант 1000*1000/8=~125 Кб, а ваш не смогу поэтому для сравнения...
Если ваш вариант будет иметь приемлемые размеры почему бы и нет.
Не в том суть, память памятью, а на GPU будет сложно реализовать выкрутасы объектной логики, я вполне прекрасно представляю как реализовать НС, как сложное взаимодействие объектов внутри которых имеются функции GPU расчётов(это про микро уровни), но я не представляю как этот сложный объектный код те всю НС подсунуть GPU как несколько ФФ с разными наборами весов (макроуровень) ???
Вопрос риторический, хотя если кто представляет непрочь послушать.
Вот именно поэтому был сделан выбор в пользу CUDA, а не более распространенного OpenCL
Код на CUDA объектно-ориентированный и можно побитово передать сформированный на CPU объект
Есть нюансы, но все они решаются
Вот именно поэтому был сделан выбор в пользу CUDA, а не более распространенного OpenCL
Код на CUDA объектно-ориентированный и можно побитово передать сформированный на CPU объект
Есть нюансы, но все они решаются