open source нейросетевые пакеты (ищутся ныне живущие)
Модератор: Модераторы разделов
-
allchemist
- Сообщения: 55
- ОС: Gentoo, Arch
Re: open source нейросетевые пакеты
Для хорошего распознавания картинок с большим разрешением (порядка 640x480) потребуется сеть с очень большим количеством нейронов (вплоть до 10^6), и, соответственно, большие вычислительные ресурсы, что могут себе позволить только жЫрные товарищи =)
Иногда это имеет преимущества, например, для распознавания картинок в реальном времени (видео)
Другой способ - предварительно обработать информацию (кластеризация или понижение размерности).
Делается с помощью самообучающихся сетей. Они могут действительно хорошо сжимать информацию, в том числе без потерь (а-ля автоассоциативная память).
Собственно, сейчас пишу алгоритм Ойа (модифицированный метод Хебба, не дающий нейронам приходить в насыщение). Вещь намного более капризная, чем back-propagation. (или это у меня руки такие кривые?)
Далее планирую разобраться-таки с сетями радиальных базисных функций (RBF).
Кстати, да, еще хочу добавить в back-propagation алгоритм RPROP, использующий для каждого нейрона свою скорость обучения и регулирющий каждый параметр в процессе обучения. (Хотя хз, может, это такая тривиальная вещь, что об отсутствии ее до сих пор стоило бы умолчать? =) )
Иногда это имеет преимущества, например, для распознавания картинок в реальном времени (видео)
Другой способ - предварительно обработать информацию (кластеризация или понижение размерности).
Делается с помощью самообучающихся сетей. Они могут действительно хорошо сжимать информацию, в том числе без потерь (а-ля автоассоциативная память).
Собственно, сейчас пишу алгоритм Ойа (модифицированный метод Хебба, не дающий нейронам приходить в насыщение). Вещь намного более капризная, чем back-propagation. (или это у меня руки такие кривые?)
Далее планирую разобраться-таки с сетями радиальных базисных функций (RBF).
Кстати, да, еще хочу добавить в back-propagation алгоритм RPROP, использующий для каждого нейрона свою скорость обучения и регулирющий каждый параметр в процессе обучения. (Хотя хз, может, это такая тривиальная вещь, что об отсутствии ее до сих пор стоило бы умолчать? =) )
Russian Lisp Community: http://lisper.ru
made with secret alien technology
made with secret alien technology
-
allchemist
- Сообщения: 55
- ОС: Gentoo, Arch
Re: open source нейросетевые пакеты
Вообщем, утонул в анализе главных компонент и иже с ним.
Пока забью на кодинг и буду ботать математику =)
Но Идея создания нейросетевого пакета не умерла.
Пока забью на кодинг и буду ботать математику =)
Но Идея создания нейросетевого пакета не умерла.
Russian Lisp Community: http://lisper.ru
made with secret alien technology
made with secret alien technology
-
frp
- Сообщения: 1445
- ОС: Debian Squeeze
Re: open source нейросетевые пакеты
А если распознавать символы, то возникает очередная проблема - у сети фиксированное количество входов и символы приходиться масштабировать, что ведет к потерям качества изображения и ухудшению точности.
-
Warlornhor
- Сообщения: 428
- ОС: openSUSE 12.3
Re: open source нейросетевые пакеты
Не совсем так. Я проводил эксперименты связанный с этой проблемой, правда масштабировал всегда в меньшую сторону картинка 10х10. Результат: процент распознавания слова (сонограммы) при масштабировании выше чем без него, даже учитывая то что произносят его разные люди, даже женский и мужской голос не имеют разницы. И это всего лишь один нейрон
-
frp
- Сообщения: 1445
- ОС: Debian Squeeze
Re: open source нейросетевые пакеты
Warlornhor писал(а): ↑28.07.2009 20:41Результат: процент распознавания слова (сонограммы) при масштабировании выше чем без него, даже учитывая то что произносят его разные люди, даже женский и мужской голос не имеют разницы. И это всего лишь один нейрон smile.gif.
От этого текста у меня в внутримозговом парсере случился Segmentation Fault
-
Warlornhor
- Сообщения: 428
- ОС: openSUSE 12.3
Re: open source нейросетевые пакеты
Извините за такой поток мысли
, общий смысл был в том, что масштабировать можно и нужно, тем самым мы убираем различные "помехи" и "условности", а это увеличивает обучаемость сети.
-
Warlornhor
- Сообщения: 428
- ОС: openSUSE 12.3
Re: open source нейросетевые пакеты
"Немного" переделал логику построения сети и связей в ней, теперь чисто теоретически она может быть почти любой сложности. Почти обусловлено тем, что я пока не понимаю как считать сеть с обратными связями, т.е. в модели они могут быть, а вот как учитывать сигнал с них я пока не понял, есть какие-нибудь предложения? В планах на ближайшее будущее распараллелить вычисление выхода сети, сделать отрисовку сети, например с помощью graphviz, чтобы было понятно что и как построено.
-
Warlornhor
- Сообщения: 428
- ОС: openSUSE 12.3
Re: open source нейросетевые пакеты
1. Проблема с расчетом сетей с обратными связями до сих пор актуальна.
2. Сеть теперь умеет себя показывать и мы можем подать это на вход graphviz и получить такие вот странные картинки. Вывод еще будет модифицироваться в сторону увеличения понимания нарисованного
.
3. Добавил многопоточное вычисление слоев.
2. Сеть теперь умеет себя показывать и мы можем подать это на вход graphviz и получить такие вот странные картинки. Вывод еще будет модифицироваться в сторону увеличения понимания нарисованного
3. Добавил многопоточное вычисление слоев.
У вас нет необходимых прав для просмотра вложений в этом сообщении.
-
Warlornhor
- Сообщения: 428
- ОС: openSUSE 12.3
Re: open source нейросетевые пакеты
1. Улучшена логика для отображения сети, теперь можно видеть четкое разделение по слоям.
2. Реализован патерн стратегия для отображения сети и для ее тренировки.
3. Реализован алгоритм отжига для тренировки новой модели, теперь сеть можно тренировать, по идее должно работать (на реальных данных еще не тестировал). Также по идее можно будет на лету менять алгоритм тренировки, правда пока он только один.
Возможно в ближайшее время будут реализованы еще несколько вариантов более детального отображения.
2. Реализован патерн стратегия для отображения сети и для ее тренировки.
3. Реализован алгоритм отжига для тренировки новой модели, теперь сеть можно тренировать, по идее должно работать (на реальных данных еще не тестировал). Также по идее можно будет на лету менять алгоритм тренировки, правда пока он только один.
Возможно в ближайшее время будут реализованы еще несколько вариантов более детального отображения.
У вас нет необходимых прав для просмотра вложений в этом сообщении.
-
allchemist
- Сообщения: 55
- ОС: Gentoo, Arch
Re: open source нейросетевые пакеты
Некоторое время назад пришел в создании нейросетевого пакета к логическому тупику.
Теперь, благодаря системе плагинов, эта программулина может смоделировать любую известную (равно как и еще неизвестную) нейросетевую архитектуру.
Пришел к неутешительному выводу - за такую расширяемость приходится платить производительностью.
Начал писать матричную реализацию, которая, очевидно, на порядки быстрее. Однако, для сети с одним и несколькими скрытыми слоями матричное представление будет совершенно разным, равно как и для разных алгоритмов обучения. Это большой минус.
Поэтому хочу написать матричные реализации только для наиболее популярных архитектур.
Предварительно наваял библиотеку матричной алгебры а-ля Lapack. Кривоватая, в меньшими возможностями, зато на pure Common Lisp %)
Начал с обобщенного правила Хебба. Реализовал с его помощью анализ главных компонент. Работает быстрее и устойчивее, чем анализ главных компонент с помощью SVD-разложения.
Дальше пойдет как по накатанной, т.к. Концепция уже есть
Теперь, благодаря системе плагинов, эта программулина может смоделировать любую известную (равно как и еще неизвестную) нейросетевую архитектуру.
Пришел к неутешительному выводу - за такую расширяемость приходится платить производительностью.
Начал писать матричную реализацию, которая, очевидно, на порядки быстрее. Однако, для сети с одним и несколькими скрытыми слоями матричное представление будет совершенно разным, равно как и для разных алгоритмов обучения. Это большой минус.
Поэтому хочу написать матричные реализации только для наиболее популярных архитектур.
Предварительно наваял библиотеку матричной алгебры а-ля Lapack. Кривоватая, в меньшими возможностями, зато на pure Common Lisp %)
Начал с обобщенного правила Хебба. Реализовал с его помощью анализ главных компонент. Работает быстрее и устойчивее, чем анализ главных компонент с помощью SVD-разложения.
Дальше пойдет как по накатанной, т.к. Концепция уже есть
Russian Lisp Community: http://lisper.ru
made with secret alien technology
made with secret alien technology
-
Warlornhor
- Сообщения: 428
- ОС: openSUSE 12.3
Re: open source нейросетевые пакеты
allchemist, могли бы Вы предоставить исходники и небольшую документацию о том что с ними делать, как запускать и т.п. Мне просто интересно проверить скорость работы Вашей сети и моей на одной и той же машине. Проверка бы заключалась в многократном вычислении выхода для сети размером например 500 нейронов в первом слое и 44 во втором (полносвязная сеть без обратных связей), и сколько памяти при этом занимает Ваша НС и моя, проверка так, ради спортивного интереса.
-
allchemist
- Сообщения: 55
- ОС: Gentoo, Arch
Re: open source нейросетевые пакеты
Могу, конечно. Сегодня-завтра оформлю по-человечески. Даже для двух вариантов.
Естесственно, к абсолютным значениям времени/памяти относиться серьезно нельзя, т.к. языки сильно разные.
Естесственно, к абсолютным значениям времени/памяти относиться серьезно нельзя, т.к. языки сильно разные.
Russian Lisp Community: http://lisper.ru
made with secret alien technology
made with secret alien technology
-
Warlornhor
- Сообщения: 428
- ОС: openSUSE 12.3
Re: open source нейросетевые пакеты
Спасибо, буду ждать.
Это мне тоже очень интересно
.
...языки сильно разные.
Это мне тоже очень интересно
-
Ortis
- Сообщения: 117
- ОС: Mandriva 2011, Kubuntu 12.04
Re: open source нейросетевые пакеты
Тема интересная, но, возможно, автор подведёт предварительный итог и вынесет все отысканные нейросетевые пакеты в первое сообщение? Или ничего кроме Генесиса отыскать не удалось? Я вот прослистал всю тему, но так и не понял, что использовать и что есть.
-
allchemist
- Сообщения: 55
- ОС: Gentoo, Arch
Re: open source нейросетевые пакеты
Итак.
во-первых, genesis.
На момент поисков он был скорее мертв, чем жив.
Заглянул в репозиторий сегодня - дата выхода последней версии все та же - 2006г.
Однако, версия для MacOS была пересобрана и выложена буквально несколько дней назад, 9 сентября сего года.
Это может говорить о возрождении интереса авторов к проекту.
Во-вторых, snns, Stuttgard Neural Network Simulator.
Есть в портах FreeBSD, но по лицензионным соображениям его нужно качать вручную после регистрации.
Версия 4.2 была выложена аж в 1998г, однако в июле 2008г был выложен snns 4.3. Пациент скорее мертв, чем жив. Если разработка и ведется, то оччень неспешными темпами.
В-третьих, lensnns.
Не имеет отношения к snns, т.к. Lens Neural Network Simulator.
Нашел в портах FreeBSD.
Пациент мертв.
Резюме.
Готовых к промышленному использованию open source пакетов нет, что не может не огорчать.
Кстати, да. Свой проект я еще не придумал как назвать, поэтому я его сюда не включил %)
В любом случае, он еще в pre-pre-alpha версии, хотя уже и показывает некоторые приятные результаты.
во-первых, genesis.
На момент поисков он был скорее мертв, чем жив.
Заглянул в репозиторий сегодня - дата выхода последней версии все та же - 2006г.
Однако, версия для MacOS была пересобрана и выложена буквально несколько дней назад, 9 сентября сего года.
Это может говорить о возрождении интереса авторов к проекту.
Во-вторых, snns, Stuttgard Neural Network Simulator.
Есть в портах FreeBSD, но по лицензионным соображениям его нужно качать вручную после регистрации.
Версия 4.2 была выложена аж в 1998г, однако в июле 2008г был выложен snns 4.3. Пациент скорее мертв, чем жив. Если разработка и ведется, то оччень неспешными темпами.
В-третьих, lensnns.
Не имеет отношения к snns, т.к. Lens Neural Network Simulator.
Нашел в портах FreeBSD.
Пациент мертв.
Резюме.
Готовых к промышленному использованию open source пакетов нет, что не может не огорчать.
Кстати, да. Свой проект я еще не придумал как назвать, поэтому я его сюда не включил %)
В любом случае, он еще в pre-pre-alpha версии, хотя уже и показывает некоторые приятные результаты.
Russian Lisp Community: http://lisper.ru
made with secret alien technology
made with secret alien technology
-
Warlornhor
- Сообщения: 428
- ОС: openSUSE 12.3
Re: open source нейросетевые пакеты
Какой функциональностью должен обладать проект и в каком виде она должны быть представлена?
Например:
1. Создание сети размера N x M x Y
2. Модификация внутренних связей
3. Обучение
3.1 Алгоритм такой-то
3.2 Алгоритм сякой-то
....
К чему стремиться?
Например:
1. Создание сети размера N x M x Y
2. Модификация внутренних связей
3. Обучение
3.1 Алгоритм такой-то
3.2 Алгоритм сякой-то
....
К чему стремиться?
-
Portnov
- Модератор
- Сообщения: 1786
- Статус: Матёрый линуксоид
- ОС: Debian testing/unstable
Re: open source нейросетевые пакеты
Кроме всего прочего - хорошо бы чтобы это была и библиотека. Чтоб можно было из своей программы, вызывая апи библиотеки, создать сеть, запустить обучение, запустить в рабочем режиме... эх, мечты.
Работа: Ubuntu 9.10
Дом: Debian testing/unstable и на всякий случай winxp в virtualbox.
Для разнообразия: моя домашняя страница -http://iportnov.ru
Дом: Debian testing/unstable и на всякий случай winxp в virtualbox.
Для разнообразия: моя домашняя страница -http://iportnov.ru
-
allchemist
- Сообщения: 55
- ОС: Gentoo, Arch
Re: open source нейросетевые пакеты
Например, к тому, чтобы превзойти по возможностям и, если это будет возможно, по скорости, толстые коммерческие прокты типа NeuroShell.
Дело в том, что большинство коммерческих реализаций имеют в осносном особую целевую аудиторию - трейдеров, биржевых игроков, экономистов, считающих возможные убытки. Это понятно, т.к. эти люди могут заплатить на порядки больше, чем нищие ученые. Но это накладывает на них отпечаток "юзерофильности". С программой должен будет работать человек, который не "шарит" ни в нейросетях, ни в программировании, поэтому такие пакеты имеют труднорасширяемый интерфейс "ткни сюда - получишь плюшку". Собственно, хочу сделать вещь, лишенную этого недостатка. Что получится - не знаю.
Кроме всего прочего - хорошо бы чтобы это была и библиотека.
Так оно примерно и будет. Более того, планирую сделать иерархию разноуровневых библиотек или даже DSL, так что одна будет использовать другую.
Эх, мечты...
Чтоб можно было из своей программы, вызывая апи библиотеки, создать сеть, запустить обучение, запустить в рабочем режиме
[trollmode]
Особенность лиспа - его абсолютная интерактивность. Это сложно объяснить, пока не попробуешь - не поймешь. %) Эта проблема решается автоматически.
[trollmode]
Правда, сделать биндинги к Си-подобным языкам из лиспа намного сложнее, чем наоборот.
Russian Lisp Community: http://lisper.ru
made with secret alien technology
made with secret alien technology
-
Warlornhor
- Сообщения: 428
- ОС: openSUSE 12.3
Re: open source нейросетевые пакеты
За последнюю неделю были добавлены следующие возможности.
Обучение НС:
1. Метод обратного распространения.
2. Метод обратного распространения с учетом момента.
3. Метод обратного распространения с изменяющимися параметрами.
4. Простейшая реализация правила Хебба для однослойной сети с одним выходом (до конца не проверено, может не работать и падать).
5. Простейшая реализация правила Хебба для однослойной сети с одним выходом и возможностью уменьшать скорость роста весов (до конца не проверено, может не работать и падать).
6. Реализация Instar Rule, не знаю как правильно перевести (теста пока нет).
Представление НС:
1. Детальное представление НС с числами. На прикрепленном изображении сеть для функции исключающего или (XOR).
Обучение НС:
1. Метод обратного распространения.
2. Метод обратного распространения с учетом момента.
3. Метод обратного распространения с изменяющимися параметрами.
4. Простейшая реализация правила Хебба для однослойной сети с одним выходом (до конца не проверено, может не работать и падать).
5. Простейшая реализация правила Хебба для однослойной сети с одним выходом и возможностью уменьшать скорость роста весов (до конца не проверено, может не работать и падать).
6. Реализация Instar Rule, не знаю как правильно перевести (теста пока нет).
Представление НС:
1. Детальное представление НС с числами. На прикрепленном изображении сеть для функции исключающего или (XOR).
У вас нет необходимых прав для просмотра вложений в этом сообщении.
-
allchemist
- Сообщения: 55
- ОС: Gentoo, Arch
Re: open source нейросетевые пакеты
Здорово.
Как вычисляются скорости обучения для каждого нейрона?
Входящая звезда
Вообще, неплохо было бы стремиться к реализации хотя бы этого (я про себя в первую очередь)
Warlornhor писал(а): ↑28.09.2009 11:013. Метод обратного распространения с изменяющимися параметрами.
Как вычисляются скорости обучения для каждого нейрона?
6. Реализация Instar Rule, не знаю как правильно перевести (теста пока нет).
Входящая звезда
Вообще, неплохо было бы стремиться к реализации хотя бы этого (я про себя в первую очередь)
Russian Lisp Community: http://lisper.ru
made with secret alien technology
made with secret alien technology
-
Warlornhor
- Сообщения: 428
- ОС: openSUSE 12.3
Re: open source нейросетевые пакеты
Как вычисляются скорости обучения для каждого нейрона?
Если я правильно понял вопрос, то ниже ответ:
1. Новая ошибка больше старой:
1.1 Процент измения ошибки больше критического, тогда коэффициент скорости падает в сколько-то раз (задается коэффициентом от 0 до 1), момент, если был, становится равным 0.
1.2 Процент измения ошибки меньше или равен критическому, тогда коэффициент скорости обучения не изменяется, момент, если был 0, становится таким каким был в начале работы.
2. Новая ошибка меньше или равна старой:
Коэффициент скорости увеличивается в сколько-то раз (задается коэффициентом больше 1), момент, если был 0, становится таким каким был в начале работы.
Вообще, неплохо было бы стремиться к реализации хотя бы этого
Я думаю, что если не все, то почти все я смогу реализовать, особенно если будет интерес, пока интерес есть, потому что самообучающиеся сети это здорово :), да и книга по которой делаю еще не полностью прочитана.
-
Portnov
- Модератор
- Сообщения: 1786
- Статус: Матёрый линуксоид
- ОС: Debian testing/unstable
Re: open source нейросетевые пакеты
Warlornhor я чего-то пропустил, или это... где код-то? ;)
Работа: Ubuntu 9.10
Дом: Debian testing/unstable и на всякий случай winxp в virtualbox.
Для разнообразия: моя домашняя страница -http://iportnov.ru
Дом: Debian testing/unstable и на всякий случай winxp в virtualbox.
Для разнообразия: моя домашняя страница -http://iportnov.ru
-
Warlornhor
- Сообщения: 428
- ОС: openSUSE 12.3
Re: open source нейросетевые пакеты
-
Eugeen
- Сообщения: 3
- ОС: Windows server 2008
Re: open source нейросетевые пакеты
Warlornhor писал(а): ↑28.09.2009 11:01За последнюю неделю были добавлены следующие возможности.
Обучение НС:
1. Метод обратного распространения.
2. Метод обратного распространения с учетом момента.
3. Метод обратного распространения с изменяющимися параметрами.
4. Простейшая реализация правила Хебба для однослойной сети с одним выходом (до конца не проверено, может не работать и падать).
5. Простейшая реализация правила Хебба для однослойной сети с одним выходом и возможностью уменьшать скорость роста весов (до конца не проверено, может не работать и падать).
6. Реализация Instar Rule, не знаю как правильно перевести (теста пока нет).
Представление НС:
1. Детальное представление НС с числами. На прикрепленном изображении сеть для функции исключающего или (XOR).
Уважаемый Warlornhor!
Пробовали ли Вы сравнивать результаты своих расчетов с серьёзными пакетами (NeuroSolutiоn, NeuralWorks, ... ets.)?
Можно Вам порекомендовать сайт:
http://www.neuroproject.ru/forum/
Там тоже можно с кем-нибудь сравниться. Кроме того там можно получить квалифицированную помощь от Царегородцева и Агапкина.
Мне же интересно понимать как быстро Ваша прога считает. Поддерживается ли многоядерность процессора? Можно ли в нее встроить OPEN CL?
В моих задачах я пользуюсь NeuroSolutiоn 5, но скорость вычислений не слишком велика. В NeuroSolutiоn 6 уже поддерживается многоядерность, но пока не видел демо-версии чтобы сравнить.
-
Warlornhor
- Сообщения: 428
- ОС: openSUSE 12.3
Re: open source нейросетевые пакеты
Мне же интересно понимать как быстро Ваша прога считает.
Примерно 35мс для вычисления выхода у 3-х слойной полносвязной сети 500х500х44 с 500 входами с сигмоидными функциями активации на процессоре с одним ядром 2,2Гц и далеко не самой быстрой памятью. Проводил тест --- вычислить 1000 раз значение вход->выход, потом результат поделил на 1000. Скачать тест для проверки у себя можно здесь.
Поддерживается ли многоядерность процессора?
Если я все правильно сделал, то да. Количество потоков для вычисления равно количеству процессоров умноженных на 2.
Можно ли в нее встроить OPEN CL?
От Вас об этом услышал первый раз. Программа написана на Java, если у нее есть возможности для этого, то наверное можно.
-
allchemist
- Сообщения: 55
- ОС: Gentoo, Arch
Re: open source нейросетевые пакеты
Eugeen
Мое большое ИМХО - за производительность в виде поддержки многопроцессорности и даже GPU (<=OpenCL) на начальном этапе не только не нужно, но даже нельзя.
Классики устали повторять, что такое преждевременная оптимизация
Потому что выигрыш в производительности от распараллеливания на двух процессорах <2, в то время как выигрыш от пересмотра и оптимизации алгоритма может быть в 10 - 10...00 раз больше, проверено на практике.
В то же время, подобные вещи усложняют код.
Кстати, у них можно не только задать вопрос на форуме, но и записаться на курсы повышения квалификации, ежегодно во втором семестре в НИИЯФ МГУ (читает тов. Доленко).
Мое большое ИМХО - за производительность в виде поддержки многопроцессорности и даже GPU (<=OpenCL) на начальном этапе не только не нужно, но даже нельзя.
Классики устали повторять, что такое преждевременная оптимизация
Потому что выигрыш в производительности от распараллеливания на двух процессорах <2, в то время как выигрыш от пересмотра и оптимизации алгоритма может быть в 10 - 10...00 раз больше, проверено на практике.
В то же время, подобные вещи усложняют код.
Кстати, у них можно не только задать вопрос на форуме, но и записаться на курсы повышения квалификации, ежегодно во втором семестре в НИИЯФ МГУ (читает тов. Доленко).
Russian Lisp Community: http://lisper.ru
made with secret alien technology
made with secret alien technology
-
Eugeen
- Сообщения: 3
- ОС: Windows server 2008
Re: open source нейросетевые пакеты
allchemist писал(а): ↑30.09.2009 14:21Eugeen
Мое большое ИМХО - за производительность в виде поддержки многопроцессорности и даже GPU (<=OpenCL) на начальном этапе не только не нужно, но даже нельзя.
Классики устали повторять, что такое преждевременная оптимизация
Потому что выигрыш в производительности от распараллеливания на двух процессорах <2, в то время как выигрыш от пересмотра и оптимизации алгоритма может быть в 10 - 10...00 раз больше, проверено на практике.
В то же время, подобные вещи усложняют код.
Кстати, у них можно не только задать вопрос на форуме, но и записаться на курсы повышения квалификации, ежегодно во втором семестре в НИИЯФ МГУ (читает тов. Доленко).
Совершенно с Вами согласен относительно качества алгоритмов. Здесь, в нейросетях (НС) еще все достаточно молодо-зелено. Новые идеи еще только начинают приходить. Теория обгоняет практические приложения (посмотреть только Хайкина!), налицо явная нехватка новых реализаций.
Поскольку начинают решаться серьезные задачи с помощью НС, то объемы обучающих выборок и структура НС значительно вырастают. Вычислительная стоимость одной эпохи (одного шага обучения НС) становится важным критерием эффективности нейросетевых пакетов. И тут два пути (лучше использовать оба) развития: распараллеливание алгоритмов для адаптации к новому "железу" и новые (или модифицированные старые) алгоритмы.
На своих задачах я увидел как переход к квазиНютоновским методам оптимизации резко повысил вычислительную эффективность, а то и просто позволил решить задачу.
Теперь стоит задача повысить быстродействие квазиНютоновских методов, а здесь без использования "передовых железных технологий" не обойтись. Именно эту мысль я имел в виду говоря об OpenCL и многоядерных процах.
Кроме детерминированных алгоритмов в новых условиях, о которых я говорил выше, начинают "играть" недетерминированные (напр. ММК). у которых вычислительная "стоимость" одной эпохи сравнительно мала и зависит, в первую очередь, от самого постановщика задачи, а не от применяемого пакета.
Я сознательно не делаю упор на каких либо алгоритмах, но считаю что не сказали своего слова в НС генетические алгоритмы, адаптивные алгоритмы, самообучающиеся алгоритмы,.. ets.
Резюмируя вышесказанное, скажу что изыскания Warlornhor в одиночку мало что дадут нового. Коммерческие проекты по НС с десятилетней историей ему, одному, превзойти не под силу. Тем более что он не в курсе передовых коммерческих разработок (открытые проекты не в счет). Но пока на форуме я не увидел других энтузиастов, готовых поддержать проект Warlornhor.
-
allchemist
- Сообщения: 55
- ОС: Gentoo, Arch
Re: open source нейросетевые пакеты
Ну, помимо затеи Warlornhor'a в теме посветилась и моя затея 
Я, правда, не веду тут лог разработки + вместе с разработкой приходится изучать много нового.
Кстати, немного выше я описал цель своего проекта и его потенциальное преимущество перед толстыми коммерческими проектами.
Насчет оптимизации - задумаюсь над параллельностью только после того как выжму все из алгоритма.
ЗЫ. Раз пошла такая пьянка, напишу про свой прогресс %)
* Проработал почти половину Хайкина, в частности все про обратное распространение и иже с ним
* В очередной раз переписал back propagation, добавил алгоритмы resilient prop, quickprop, хочу еще накатать Левенберга-Марквардта.
ЗЗЫ. Нельзя недооценивать проекты человека-одиночки, иногда они выстреливают (к слову, количество ошибок в коде пропорционально квадрату кол-ва разработчиков)
Я, правда, не веду тут лог разработки + вместе с разработкой приходится изучать много нового.
Кстати, немного выше я описал цель своего проекта и его потенциальное преимущество перед толстыми коммерческими проектами.
Насчет оптимизации - задумаюсь над параллельностью только после того как выжму все из алгоритма.
ЗЫ. Раз пошла такая пьянка, напишу про свой прогресс %)
* Проработал почти половину Хайкина, в частности все про обратное распространение и иже с ним
* В очередной раз переписал back propagation, добавил алгоритмы resilient prop, quickprop, хочу еще накатать Левенберга-Марквардта.
ЗЗЫ. Нельзя недооценивать проекты человека-одиночки, иногда они выстреливают (к слову, количество ошибок в коде пропорционально квадрату кол-ва разработчиков)
Russian Lisp Community: http://lisper.ru
made with secret alien technology
made with secret alien technology
-
Eugeen
- Сообщения: 3
- ОС: Windows server 2008
Re: open source нейросетевые пакеты
allchemist писал(а): ↑01.10.2009 16:34Ну, помимо затеи Warlornhor'a в теме посветилась и моя затея
Я, правда, не веду тут лог разработки + вместе с разработкой приходится изучать много нового.
Кстати, немного выше я описал цель своего проекта и его потенциальное преимущество перед толстыми коммерческими проектами.
Насчет оптимизации - задумаюсь над параллельностью только после того как выжму все из алгоритма.
ЗЫ. Раз пошла такая пьянка, напишу про свой прогресс %)
* Проработал почти половину Хайкина, в частности все про обратное распространение и иже с ним
* В очередной раз переписал back propagation, добавил алгоритмы resilient prop, quickprop, хочу еще накатать Левенберга-Марквардта.
ЗЗЫ. Нельзя недооценивать проекты человека-одиночки, иногда они выстреливают (к слову, количество ошибок в коде пропорционально квадрату кол-ва разработчиков)
Хрошо бы Вам публиковать, например здесь:
http://neuralnetwork.narod.ru/besucher.html
свои достижения. Заинтересованные люди смогут помочь Вам советом или содействием.
-
allchemist
- Сообщения: 55
- ОС: Gentoo, Arch
Re: open source нейросетевые пакеты
Было бы что писать...
Да и помощь мне пока не нужна
Да и помощь мне пока не нужна
Russian Lisp Community: http://lisper.ru
made with secret alien technology
made with secret alien technology