"Новый нейронный" - проект Open Source движка нейронной сети для платформы MetaTrader 5.

 
TheXpert:

Первым делом наверное надо новый простенький форум под проект.

Скорей всего надо сделать проект на сорсфорже и сразу переносить туда обсуждение.

Первым делом нужен мозговой штурм, нужна база идей пусть и сюреалистичных и ветка форума (в виду своей открытости) подходит как нельзя лучше.

Штурмовать могут все, даже не спецы. Штурмовые предложения лучше выделять от остального текста цветом.

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

 
TheXpert:

Андрей, не против, если мы из этой ветки мозгоштурм сделаем?

Конечно не против. Для этого ветка и создана.
 

Темы штурма:

-- Вид проекта (способ взаимодействия с пользователем)

-- Сети, которые будут реализованы в проекте

-- Предобработка данных и все что с этим связано

-- Архитектура, интерфейсы

-- реализация, подключение.

--тестирование, отладка.

Запрещается: критиковать любую, даже самую бредовую мысль, флудить. Уровень компетентности не важен. Если тебе интересно и есть мысли -- выскажись!

Приветствуется: предлагать новые мысли, развивать уже имеющиеся.

 
TheXpert:
...

Возможно, стоит добавить:

-- Постобработка

На мой взгляд, необходимо особое внимание уделить интерфейсам отдельных модулей с расчетом на масштабируемость (подключение/отключение различных сигналов, возможность создания комитетов сетей и др.). Отсюда сразу возникает потребность отделять собственно сеть (сама сеть, к примеру MLP с двумя скрытыми слоями занимает всего несколько десятков строк, пример в атаче) от алгоритма обучения. 

Файлы:
F_MLP.mqh  5 kb
 

нормализация векторов, визуализация входных и выходных данных, 

 использовать внешний конструктор Нейросолюшнс, использовать ДЛЛ с нейросолюшнс,  нитерфейс .. 

  интерфейсы для подгрузки- выгрузки данных: векторов, весов,

EDNA Evolutionary Design Network Architecture  

возможность выбора-настройки ф-ций активации, алгоритмов обучения, 

 
njel:
Скорее всего одна из фишек в том, что дллок не будет.
 

...представляется так:

Вид проекта: библиотека классов,

1) способ взаимодействия - использование (подробно документированного) API  в коде своих систем.

Я так понимаю практическое применение библиотеки будет:

  1. быстрое написание собственных утилит?(как назвать) - задаем нужный тип сети, формируем ее конфигурацию, прописываем чем будем ее кормить(обучающая выборка) и т.д.
    каждая такая утилита может выступать как отдельно приложение с входными параметрами. Прогоняем такую утилиту в тестере? на выходе имеем обученную сеть в виде файла (FILE_COMMON)

  2. написание экспертов которые могут использовать файл(ы?) обученных сетей

2) второй способ взаимодействия. Приложение с графическим интерфейсом упрощающее создание утилиты создания/обучения сети - что касается параметров типа и тд - это просто. но для разных типов свои настройки? + как задавать в UI чем кормить сеть? проще это задавать в коде. Возможно встроить создание шаблона утилиты генерации сети в метаэдитор, как мастер создания нейронной сети? На выходе - готовый код, останется только прописать что подается на вход сети?


P.S. выше joo было предложено использовать "интерфейсы отдельных модулей с расчетом на масштабируемость", их как раз и нужно генерировать в метаэдиторе на основе мастера, а алгоритм обучения дописывать

 
joo:

Здесь предлагаю обозначить цели и задачи проекта. Обсуждать детали и нюансы.

Если я правильно понял задумано что-то типа FANN, только много ширее и общее? Даже и знаю как оценить перспективы такого монстра, это такой пласт необъятного) Столько частностей и ньюансов. Даже в маленьком кусочке кода выложеного joo , не обошлось без заточки под конкретную реализацию (цифирка 7 в функции активации скорее всего из этой оперы). Нейросети сплошь из таких частностей. С интересом послежу за проектом и постараюсь не мешаться под ногами, но пока слабо представляю - возможно ли это в принципе силами нескольких энтузиастов....

 

Модулярні нейронні мережі

Можно добавить возможность обучения большой сети частями, фактически это обучение комитета но без проблем с объединением сетей в одну систему.
Модулярні нейронні мережі — Вікіпедія
  • uk.wikipedia.org
Модулярна нейронна мережа (англ. ) — група нейронних мереж (які в даному випадку називаються модулями), що керуються певним посередником. Кожна нейронна мережа слугує модулем і оперує окремими входами для вирішення певних підзавдань із групи завдань, які повинна виконати модулярна нейронна мережа. [1] Посередник приймає вихідні сигнали кожного...
 
Figar0:

Если я правильно понял задумано что-то типа FANN, только много ширее и общее?

Намного "ширее" и "общее". :)

А иначе зачем заморачиватся?

Figar0:

Столько частностей и ньюансов. Даже в маленьком кусочке кода выложеного joo , не обошлось без заточки под конкретную реализацию (цифирка 7 в функции активации скорее всего из этой оперы). Нейросети сплошь из таких частностей.

Вот тут как раз - нет. Цифирка 7 в функции активации - масштабный коэффициент, что бы участок кривизны сигмоиды попал на участок [-1.0;1.0].

Далее предлагаю использовать этот диапазон для входов и выходов всех типов сеток, что бы избежать путаницы и обеспечить одинаковый интерфейс. Именно поэтому я и поставил там 7 - с расчетом на будущие свои разработки.

Однако, этот коэффициент можно оформить в виде переменной, тогда появляется возможность регулировать кривизну сигмоиды у всех нейронов имеющих ФА (от логического переключения, до простого линейного масштабирования, включая промежуточный участок с нелинейным S-образным преобразованием)   

Причина обращения: