Добрый день!
Сперва хочу сказать спасибо за хорошие и полезные модули.
У меня следущая проблема - мне сказали сделать диплом на тему распознавания бинарных образов мобильным роботом, нужно реализовать разные алгоритмы, в том числе и нейросетевые, все должно быть инвариантно относительно размера и положения.
Кое что я уже сделал - сейчас программа выделяет образы с экрана - вычисляет центр масс, далее ориентацию, поворачивает каждый образ в отдельности, далее уменьшает до размера 32х32 или 16х16 и сравнивает с заранее заготовленными эталонами. Работает в реалном времени с запасом.
Здесь я хочу так же включить и нейросетевой алгоритм, обучаемый обратным распространением(Т.к в других реализованных мною алгоритмах применить особо не где).
Я сделал три слоя 256,256,число_типов_образов(например 2) в первый пустил мою матрицу 16х16... пробую обучить.. не получается - пишет что ошибка обучения где-то около 0.5 в лучшем случае (10000 эпох), пробывал менять разные параметры (импульс, альфу и шаг обучиеня) но как-то не помогает особо. К тому же учится долго...
Однако при некоторых параметрах система 100,100,2 обучается нормально.
Подскажите пожалуйста что я не так делаю, и в какую сторону нужно двигаться?
Заранее спасибо от меня, и нашего учебного робота, на котором все это будет кататься.
NeuralBase - нейросеть за 5 минут
Описание библиотеки классов NeuralBase. Основным назначением библиотеки является интеграция нейронных сетей в информационные системы, для расширения аналитических возможностей систем.
Читайте статью NeuralBase - нейросеть за 5 минут 
Обсуждение: NeuralBase - нейросеть за 5 минут
Николай
04-04-2007
Николай,
На мой взгляд у Вас ошибка в реализации алгоритма обучения, т.к. ошибка 0,5 (если я правильно понимаю, что это то же самое, что и ошибка 50%) -- это ошибка, характерная для ИНС со случайно инициализированными весами связей.
Также хочу обратить внимание, что задается вопрос по интересной и публикабельной работе (имхо), а не по еще-одной-халяве типа "где найти исходники" или "как сделать то, что давно уже описано в литературе, просто я искать не хочу", поэтому если есть другой вариант ответа, то призываю помочь вопрошающему :)
Qai
07-04-2007
Также проверьте в каком виде подаете данные на вход ИНС и как декодируете (интерпретируете) выходные сигналы
Qai
07-04-2007
Добрый день. Информация шла в процессе обучения корректная. Более того сейчас работает сеть(всего два слоя) структуры 256-10. Обучается быстро -распознает еще быстрее. Результат получился тоже хороший - сеть распознает матрицу , в которой есть(или нет) образ от 10 до 30% лучше, чем простое процентное сравнение - все в реальном времени с запасом, так что диплом удался можно сказать. Еще планирую научить прогу читать в слух слова (просто для эффекта, используюя стандартный модуль винды).
Однако остался один вопрос - а чем в моем случае различались бы сетки 256-256-10 и 256-10. Вроде бы прочел книжку и несколько статеек, но нигде не было сказано, что практически(например в моей задачке) даст лишний слой или два(инвариантность относительно поворота я решаю вне сети)?
Николай
08-04-2007
> Однако остался один вопрос - а чем в моем случае различались бы сетки 256-256-10 и 256-10. Вроде бы прочел книжку и несколько статеек, но нигде не было сказано, что практически(например в моей задачке) даст лишний слой или два(инвариантность относительно поворота я решаю вне сети)?
Попробую объяснить популярно, хотя я не большой дока в ИНС. Надеюсь, что не ошибусь с ответом, но если что меня поправят :)
Количество слоев в ИНС, это что-то вроде количества этапов обработки входных данных.
Без скрытых слоев ИНС просто обрабатывает входные данные: вычисляется взвешенная сумма и фактически все, не считая того, что затем сумма может быть нелинейно преобразована активационной функцией, но, на мой взгляд, здесь большой роли это не играет, не считая опасности "насытить" нелинейные функции активации, но здесь играет роль обработка информации с выходов ИНС, при которой может учитываться нелинейность функции активации.
Когда добавляется скрытый слой, то производится что-то вроде добавления первичной обработки данных, когда в результате обучения в первом слое могут быть выделены некоторые (не обязательно интерпретируемые) зависимости между входными данными (хотя это не значит, что, например, все такие зависимости будут выявлены). Выходной слой в этом случае будет обрабатывать результаты вот этой вот первичной обработки.
Добавление дополнительных скрытых слоев будет означать введение новых этапов обработки (2-го, 3-го, ..., n-го). При этом если есть перекрестные связи, то тогда в k-м слое могут обрабатываться результаты не только (k-1) этапа, но и более "ранних" этапов, в зависимости от того, откуда "пришли" эти связи (поэтому, имхо, перекрестные связи -- это хорошая штука, т.к. позволяют учесть дополнительную информацию "более низкого уровня").
Таким образом, многослойная ИНС прямого распространения -- это сеть для иерархической обработки данных, по крайней мере, на чисто интуитивном уровне я так это понимаю. При этом, опять же интуитивно, чрезмерное увлечение количеством скрытых слоев часто не оправдана, т.к. есть опасность выявления несуществующих в реальности связей между входными и промежуточными данными. Здесь также нужно сказать, что контрастирование сети помогает устранить некоторые из таких ошибок обучения. На всякий случай, еще раз отмечу, что вероятность моей ошибки относительно "зачем нужны слои" не исключена.
То, что сеть распознает быстрее, чем обучается -- это само собой, так уж устроен нейросетевой мир ;)
ЗЫ. Пока писал ответ, вспомнил фразу из первого Шрека: "Ogres have layers" :)
Qai
09-04-2007
Позвольте и мне высказаться на сей счет.
Но прежде чем рассуждать на эту тему, давайте вспомним следующий достаточно очевидный факт.
В деле аппроксимации функций не последнюю роль играет "структурное" соответствии аппроксиматора природе аппроксимируемой зависимости. Периодические зависимости хорошо аппроксимируются рядами Фурье, степенные зависимости и многократно дифференцируемые функции рядами Тейлора и т.д. Вместе с тем, никто не запрещает нам, например, раскладывать в ряд Фурье ступеньку. Теоретически это возможно, но практически - громоздко и, скорее всего, нецелесообразно.
Ровно та же картина наблюдается и в случае нейросетевой аппроксимации. Теоретически один скрытый слой нам уже позволяет представить любую непрерывную зависимость. Однако на практике может оказаться так, что ту зависимость, которая с достаточной точностью представляется лишь сотней нейронов в одном скрытом слое, можно представить нейросетью с парой скрытых слоев и существенно меньшим суммарным числом нейронов. В этом случае, скорее всего, вторая сеть по всем характеристикам (скорость обучения, качество обобщения, объем обучающей выборки и т.д.) окажется предпочтительней, чем первая (с сотней нейронов в одном скрытом слое). Впрочем, возможна и обратная ситуация. К слову я в своей практике использую нейросети с более чем одним скрытым слоем и 10 нейронами в нем крайне редко.
Число слоев и нейронов сети определяют мощность ее преобразования (степень нелинейности). Однако более мощная сеть не значит более лучшая. Желательно, чтобы характер преобразования нейросетевого аппроксиматора соответствовал природе аппроксимируемых данных. Здесь отклонения как в одну, так и в другую сторону могут оказывать одинаково негативное влияние. Если вдуматься, то, например сеть с одним входом и сотней нейронов в одном скрытом слое - это функция с сотней перегибов. А если такая сеть имеет два входа, то в двумерном пространстве она в состоянии реализовать поверхность с 100^2=10000 экстремумов. Часто ли на практике мы сталкиваемся с такими задачами?
Ситуация несколько меняется, если используются такие механизмы обучения как, например, регуляризация, специализированные целевые функции, проверочные выборки, ранний останов обучения и т.д. Люди рассказывают, что в этом случае можно повысить качество аппроксимации за счет более эффективного использования нелинейных ресурсов нейросетей с избыточной структурой. Это в частности подтверждает и мой опыт, но, во-первых, достигаемый выигрыш не столь существенен, а во-вторых, добиваться его систематизировано мне пока не удается.
Борис Ноткин
09-04-2007
Таким образом, Николай, у Вас есть два ответа на вопрос: один с точки зрения задач аппроксимации и второй с точки зрения задач классификации.
Ответ же на вопрос, какая ИНС лучше: та что побольше (но по 5 :)), или та что поменьше (но по 3) носит, на мой взгляд, скорее религиозный, чем научный характер, т.к. данные для обучения бывают самые разные, и главное -- не размер сети, а то преобразование, которое она осуществляет (это и пытается сказать Борис). А если Вы услышите, что кто-то утверждает, что, к примеру, ИНС с малым количеством связей/слоев/нейронов/... *всегда* лучше, то не сомневайтесь, этот человек еще и умеет удалять зубы по фотографии и является потомственным магом в 738-м поколении %).
Избыточность, как правило, не приветствуется, так как означает дополнительные вычисления, но зато, как известно, избыточность повышает устойчивость ИНС к повреждениям и, тем самым, надежность работы ИНС в целом. Фон Нейман так вообще показал, что из бесконечного числа ненадежных элементов можно собрать надежное устройство. А так, имхо, больше 3 скрытых слоев использовать не нужно.
> Теоретически один скрытый слой нам уже позволяет представить любую непрерывную зависимость.
Если не ошибаюсь, речь идет о теореме Колмогорова. Но тут есть одна загвоздка: в теореме были функции активации двух видов (соответственно скрытый и выходной слои): в скрытом слое -- функции независимые от аппроксимируемой зависимости, а вот в выходном -- зависимые от задачи (по А.Н. Горбаню), при этом сам Колмогоров не указывал какие именно должны быть функции, известно только, что они непрерывны. А поскольку обработка реальных данных подразумевает, что данные будут с шумом, не всегда верные и с пропусками, то подобрать на выходе верную функцию активации весьма сложно. В Хайкине приводится ссылка на статью, где, опять же если верить переводу Хайкина, показана задача (инверсная кинематика), с которой ИНС с одним скрытым слоем не сможет справиться.
А для ИНС с двумя скрытыми слоями G. Cybenko в конце 80-х было показано, что они позволяют-таки аппроксимировать любую зависимость.
Раз уж речь зашла о Хайкине... У него есть одна, как мне кажется, тяжелая ошибка с точки зрения теории алгоритмов. Он в конце первой главы написал, что, дескать, МакКаллох и Питтс показали, что с помощью ИНС можно производить *любые* вычисления. В то время как сами авторы показали, что ИНС, оснащенные лентой на входе и эффекторами на выходе эквивалентны универсальной машине Тьюринга (а за компанию и всем другим подобным универсальным вычислителям, вроде лямбда-исчисления Черча, общерекурсивных функций, нормальных алгорифмов Маркова и т.д.), но не превосходят ее, со всеми вытекающими, в числе которых и неспособность решать невычислимые задачи, и проблема остановки. Хотя данные проблемы, на мой взгляд, представляют по большей части скорее теоретический интерес, нежели практический.
Qai
09-04-2007
Огромное спасибо, за очень интересные ответы!
Когда соглашался на тему диплома даже не думал, что нейросети это так глубоко, даже приминительно к моей простенькой задачке.
После (неоднократного :-) прочтения решил продолжить эксперименты и с трехслойными(как мне показалось из ответов, в моей задачке это актуально), благо и время еще есть.
Нмколай
09-04-2007
А не поделитесь примерами? ну очень надо :)
Оксана
23-05-2007
В итоге получилось вот что:
1. бинаризация картинки
2. сегментация методом построчного прохода
3. для сегментов: вычисление центра масс и ориентации
4. поворот ориентацией паралельно оси Х
5. Уменьшение до матрицы 32х32 или 16х16
6. Распознавание матриц нейросетью 256-6 (16х16 и сколько образов надо (например 6))
Может что-то не коректно, но все это работает в реальной жизни.. не совсем в реальном времени - получается где-то 16 кадров в секунду на машине 1600 пентиум мобаил, при разумном числе образов и мусора, вообщем для нашего робота хватит, для диплома тоже хватило :-)
Подробнее можно про это почитать http://gonka.ru/nick/glaz/
Всем спасибо за ответы! Фразу насчет Фон-Неймана и бесконечного множества нестабильных элементов воткнул в текст диплома в соотв. раздел- научнице понравилось :-)
Николай
26-06-2007
Поздравляю! Интересная работа. Заодно выкрутились с задачей для робота, но без робота. Хотя с "многослойной сетью обратного распространения ошибки" Вы перестарались ;)
Qai
27-06-2007
Это почему же без робота?
Есть у нас робот - еще какой - и мы его все очень любим :-) не далее как месяц назад даже международные соревнования выиграл. http://gonka.ru/robot/ - и весь описанный алгоритм был проверен на нем, в реальных условиях с реальной динамикой.
Николай
28-06-2007
Упс, и правда был робот... Сбила меня с понталыку камера за 600 руб. ;)
Qai
29-06-2007
И еще один вопрос:
В моем алгоритме предварительной обработки изображений (нахождение центра масс образа, затем поворот его паралельно оси Х, в зависимости от ориентации) - образы иногда могут (в зависимоти от начального угла поворота относительно робота и камеры) ложиться в матрицу "перевернутыми" - т.е я под каждый образ завожу две матрицы для сравнения (два вектора для обучения). Пример: http://gonka.ru/nick/test.txt
Коректно ли просить нейросеть(два, три слоя) воспринимать два образа (обычный и перевернутый на 180') как один, т.е давать одинаковые ответы на каждую пару образов? Или их лучше разделить - что б каждый образ определялся отдельным нейроном? На практике оно работает и так и так, без ощутимых различий, но все же интересно как это делать правильно.
Николай
09-04-2007
Обсуждение: NeuralBase - нейросеть за 5 минут
Здравствуйте.Очень рад что надкнулся на ваш сайт. Очень дастойная реализация процесса.Если можно вышлите исходник на
Попробую реализовать на основе этой программы управление насосом.
Александр
10-05-2007
Обсуждение: NeuralBase - нейросеть за 5 минут
В сетях разбираться некогда, нужна просто программа использующая нейронную сеть Хопфилда для решения задачи распознавания образов. Нашел её тут. Пытался включить NeuralBase возникло пару проблем, которые были решены по наводкам описанным ниже.
Осталась последняя проблема "Unknown database. Alias: NeuralBase". Что делать?
Напишите свой номер ICQ на kievkkk[@]yahoo.com для живого общения, потому что чувствую что может возникнуть что-то еще.
Константин
20-12-2006
Господа, очень прошу помочь в проблеме
Константин
24-12-2006
Для доступа в таблице используется механизм BDE. Он поставляется вместе с Delphi и С++ Builder. Для работы с ним нужно настроить алиасы. Алиас - это имя подключения к любой базе данных. Настроить алиас можно в BDE Administrator-е, ссылка на него есть на Панели управления (конечно при условии, что при инсталяции Delphi был установлен и BDE). Имя нужно алиса - NeuralBase.
Арустамов Алексей
04-01-2007
нашла neuralbase.exe в сети, но там нет демонстрационных программ
извините очень надо, а самой времени разбираться нет :(
zaway
26-01-2007
Обсуждение: NeuralBase - нейросеть за 5 минут
ссылка на neuralbase.exe не работает
очень интересует демка Recognition. не оставьте без внимания :)
zaway
24-01-2007
Обсуждение: NeuralBase - нейросеть за 5 минут
При просчёте набора сетей с различной структурой постоянно меняю набор слоёв, веса. Потом чищу и создаю заново. Но компонент это делает некорректно и после нескольких сотен иттераций ситуация с памятью становится просто ужасающей. Сотни мегабайт утекают непонятно куда. Причём уничтожение и моздание компонента заново ситуацию не меняют.
Кто-нибудь сталкивался с таким багом? Пишите, пожалуйста, мне на мейл. Как решить эту проблему?
Zharik
22-12-2006
Обсуждение: NeuralBase - нейросеть за 5 минут
Здравствуйте, помогите пожалуйста кто может. При открытии Recognition(Приложение) выдаётся ошибка :
Table: Cannot perform this operation on a closed dataset
Что делать? Заранее спасибо!
Сергей
28-06-2004
У меня тоже самое было. Решил так:
1) Скачиваешь Deductor Lite. Устанавливаешь всё как положено.
2) В Delphi. Открывешь демо. У компонента TTable устанавливаешь свойство DatabaseName в Deductor_Demo, свойство Active в True.
3) Выдаст ошибку что не может найти letters.dbf в такой то папке. Перенеси её туда. Letters.dbf лежит в той же папке что и Hopf демо.
барбос
13-08-2004
1. Database name - в DBDEMOS
2. Копируем letters.dbf в c:Program FilesCommon FilesBorland SharedData
3. Table.Active=true;
Андрей
11-12-2006
Обсуждение: NeuralBase - нейросеть за 5 минут
Не скачивается neuralbase....если можно скиньте на e-mail
Алексей
26-11-2006
Обсуждение: NeuralBase - нейросеть за 5 минут
В качестве демонстрационной программы указывается Программа Recognition, используяющая компонент TNeuralNetHopf. Где находится эта программа, и как ее скачать?
Игорь
10-11-2006
Это демо программа, что поставляется с библиотекой NeuralBase - http://www.basegroup.ru/download/neuralbase.htm
Алексей Арустамов
10-11-2006
Обсуждение: NeuralBase - нейросеть за 5 минут
Как скачать neuralbase? У вас временные проблемы с сервером, или его удалили?!
chertenok_13
26-10-2006
Ничего не удаляли. Скачать можно тут - http://www.basegroup.ru/download/neuralbase.htm
Арустамов Алексей
27-10-2006
Обсуждение: NeuralBase - нейросеть за 5 минут
Я прочитал Вашу статью и считаю описанные компоненты весьма и весьма полезными. Но я не могу им воспользоваться, так как я программирую на C++ Builder. Не подскажете, есть ли версия компонента NeuralBase для Builder? Или может, есть разработки, аналогичные Вашей, интегрируемой в C++ Builder.
Женя Л.
27-03-2006
Обсуждение: NeuralBase - нейросеть за 5 минут
Привет всем кто читает это письмо!
SOS я студент "ХАИ" у меня проблема, я сделал диплом на тему "АСУ ТП отделением карбонизации на Крымском содовом заводе".
На предзащите мне в этой теме отказали,и сказали делать ту которая по приказу т.е. "Разработка слабоформализованных систем с применением нейронных сетей" или применить нейронные сети к производству соды.
Защита диплома у меня 6.07.03. Я просто не знаю за что хвататься. Я первый раз столкнулся с нейронными сетями.
Подскажите что делать....:-) Горю SOS HELP
Заранее премного благодарен!!!!
Pasha
28-06-2003
Ничего себе, влип! А как руководитель диплома, чего говорит?
Я так понимаю выход из ситуации.
Переосмысль тему: Разработка слабоформализованных систем с применением нейронных сетей с уклоном на технологический процесс.
Т.е. много перерабатывать не нужно (110-120 страниц ведь?), однако добавь в свой диплом теории по сетям(см. книги в конце сообщения). Затем, обучи сеть на основе имеющихся данных - неважно каким методом, это задача учебная, а не практическая, и засунь в приложение полученные коэффциенты. В конце сделай вывод, как все это здорово и достоверно.
А самое важное (у нас обычно дипломы не читал никто, кроме автора!) - сделай достойные демонстрационные листы (или презентацию, неважно) - сети, структуры и т.п. фигня из этой области.
И да пребудет с тобой разум!
Литература:
E. B. Hunt, J. Martin, P. J. Stone. Experiments in Induction. Academic Press. 1966.
Warren S. McCulloch and Walter Pitts, "A logical calculus of the ideas immanent in nervous activity'', Bulletin of Mathematical Biophysics, 5: 115-133.
Розенблатт Ф. Принципы нейродинамики. Перцептрон и теория механизмов мозга. М.: Мир, 1965. 480 с.
Минский М., Пайперт С. Персептроны. М.: Мир, 1971.
Ивахненко А.Г. Персептроны. Киев: Наукова думка, 1974.
Уоссермен Ф. Нейрокомпьютерная техника.- М.: Мир, 1992.
Перцептрон - система распознавания образов. Теория, моделирование, возможные улучшения и применения перцептронов. / Под общ. ред. А.Г.Ивахненко. Киев, 1975. - 432 с.
Горбань А.Н. Обучение нейронных сетей. -М.: СП "ПараГраф", 1990. - 159 с.
Горбань А.Н., Россиев Д.А. Нейронные сети на персональном компьютере. Новосибирск: Наука. Сибирская издательская фирма РАН, 1996. 276 с.
Комашинский В. И. , Смирнов Д. А. Нейронные сети и их применение в системах управления и связи. М.: Горячая линия - Телеком, 2002. 94 с.
Круглов В. В. , Борисов В. В. Искусственные нейронные сети: Теория и практика. М.: Горячая линия-Телеком 2001, 382 с.
Нейроинформатика и ее приложения // Материалы 3 Всероссийского семинара, 6-8 октября 1995 г. Ч. 1 /Под редакцией А.Н.Горбаня. Отв. за выпуск Г.М.Цибульский; Красноярск: изд. КГТУ, 1995. 229 с.
Осовский С. Нейронные сети для обработки информации. М.: Финансы и статистика, 2002, 344 с.
Павел Константинович
28-06-2003
Пишу Диплом "Автоматизация технологического процесса карбонизации в производстве соды"
Там какие-то расчеты стоимости оборудования и т. д.
Подкиньте плиз, кто чего может, хоч посмотреть на примере, как дипломы по этой теме пишутся.
Спасибо.
Оксана
05-04-2004
Если чего найдешь - кинь примерчик. У меня химическое травление - тоже автоматизация тех процессов.
Спасибо
Жанна
14-03-2005
Паша! У меня похожая тема! НС в горной промышленности.
Если не жалко - скинь на мыло!
Заранее благодарен!
Михаил
22-08-2004
Обсуждение: NeuralBase - нейросеть за 5 минут
А как сохранить уже обученную нейросеть с использованием NeuralNetBP? Спасибо.
TOT
02-08-2004
Попробуй добавить 2 метода из TNeuralNetExtended в TNeuralNetBP, приблизительно так:
procedure TNeuralNetBP.LoadNetwork;
var
i,j,k: integer;
xLayerCount: integer;
FNnwFile: TIniFile;
begin
//
FNnwFile := TIniFile.Create('test.ini');
ResetLayers;
Alpha := FNnwFile.ReadFloat('Network', 'Alpha', DefaultAlpha);
Momentum := FNnwFile.ReadFloat('Network', 'Miu', DefaultMomentum);
TeachRate := FNnwFile.ReadFloat('Network', 'TeachSpeed', DefaultTeachRate);
EpochCount := FNnwFile.ReadInteger('Network', 'Epoch', DefaultEpochCount);
xLayerCount := FNnwFile.ReadInteger('Network','CountLayers', DefaultLayerCount);
//
AutoInit := False;
for i := 0 to xLayerCount - 1 do
AddLayer(FNnwFile.ReadInteger('Network','Layer_'+IntToStr(i), DefaultNeuronCount));
AutoInit := True;
//
Init;
//
for i:= 1 to LayerCount - 1 do
for j := 0 to LayersBP[i].NeuronCount - 1 do
begin
for k := 0 to LayersBP[i-1].NeuronCount - 1 do
LayersBP[i].NeuronsBP[j].Weights[k] := FNnwFile.ReadFloat('Network',
'W_'+IntToStr(i-1)+'_'+IntToStr(k)+'_'+IntToStr(j), 0);
LayersBP[i].NeuronsBP[j].Weights[LayersBP[i-1].NeuronCount] := FNnwFile.ReadFloat('Network',
'WT_'+IntToStr(i-1)+'_'+IntToStr(j), 0);
end;
end;
procedure TNeuralNetBP.SaveNetwork;
var
i, j, k: integer;
FNnwFile: TIniFile;
begin
//
FNnwFile := TIniFile.Create('test.ini');
FNnwFile.WriteFloat('Network', 'TeachSpeed', TeachRate);
//
FNnwFile.WriteFloat('Network', 'Miu', Momentum);
FNnwFile.WriteFloat('Network', 'Alpha', Alpha);
FNnwFile.WriteInteger('Network', 'Epoch', EpochCount);
FNnwFile.WriteInteger('Network','CountLayers', LayerCount);
//
for i := 0 to LayerCount - 1 do
FNnwFile.WriteInteger('Network','Layer_'+IntToStr(i), StrToInt(NeuronsInLayer[i]));
//
for i:= 1 to LayerCount - 1 do begin
for j := 0 to StrToInt(NeuronsInLayer[i]) - 1 do begin
for k := 0 to StrToInt(NeuronsInLayer[i-1]) do begin
Writeln(IntToStr(i) + ' ' + IntToStr(j) + ' ' + IntToStr(k));
FNnwFile.WriteFloat('Network','W_'+IntToStr(i-1)+'_'+IntToStr(k)+
'_'+IntToStr(j), LayersBP[i].NeuronsBP[j].Weights[k]);
end;
FNnwFile.WriteFloat('Network','WT_'+IntToStr(i-1)+'_'+IntToStr(j),
LayersBP[i].NeuronsBP[j].Weights[StrToInt(NeuronsInLayer[i])]);
end;
end;
end;
Dmitry
13-08-2004
Обсуждение: NeuralBase - нейросеть за 5 минут
Здравствуйте!
Пришел я к Вам как в последнюю инстанцию.
Я сейчас работаю над созданием алгоритма по Offline - распознаванию рукописного текста и его реализацией. Это тема моей дипломной работы, однако не трудно себе представить насколько перспективен данный продукт.
Для пробы воспользовался Вашим компонентом для классификации примитивов. Классифицирует! Здорово! Но никак не пойму как работать с расширенным компонентом сети обратного распространения...
Инициализирую сеть через Init(TVectorInt) . Ошибка - чтото вроде неправильное количество входных нейронов
InputFieldCountInputNeuronCount
Что делать?
Валентин
06-06-2004
Обсуждение: NeuralBase - нейросеть за 5 минут
Для всех у кого возникли проблемы при установке компонента (проверенно в Delphi 6):
1) В меню File выберите пункт Open и откройте NeuralBase.dpk. На вопрос "This package appears to be in an older format. Would you like to convert it to the new format?" отвечаем утвердительно. Delphi преобразует пакет к 6-й версии.
2) Нажмите Compile
3) Самая неприятная ошибка, связанная с модулем DsgnIntf.pas. Решаем эту проблему:
a) В модуле NeuralBaseEditor.pas замените ссылку на DsgnIntf в списке USES на DesignIntf.
b) Добавьте DesignEditors в список USES модуля NeuralBaseEditor.pas
c) Добавьте DesignIDE в секцию REQUIRES пакета NeuralBase.dpk
4) Теперь на здоровье инсталлируйте и пользуйтесь компонентом
P.S. Большое спасибо разработчикам. Пишу диплом по распознаванию рукописного текста, информация на сайте очень помогает.
Andrew Rostov
04-02-2004
Обсуждение: NeuralBase - нейросеть за 5 минут
Чем необходимо руководствоваться при выборе количества слоёв и нейронов в них? Что по этому поводу можно найти в Инете?
cpp
04-12-2003
Обсуждение: NeuralBase - нейросеть за 5 минут
Здравствуйте. Решил использовать ваш компонент NeuralBase, а именно NeuralNetExtended и столкнулся с рядом проблем.
1. При обучении сети компонент неправильно реагирует на условия останова: задаю останов по максимальной ошибке при обучении, а он останавливает по прохождению 10000й эпохи(это в вашем примере EasyNW)
2. Есть ли какое-нибудь ограничение на количество образов, предоставляемых на входе. Дело в том, что я работаю с огромными количествами примеров(10-20тыс) или это нормально?
3. По какому принципу задавать значение момента?
Заранее благодарен.
Александер
27-09-2003
Мы так давно перешли на другую версию компонент (наверно, уже года 2), что уже мало кто в конторе помнит, как что и как реализовано в NeuralBase-е, что на сайте. Но исходники открыты, так что можно посмотреть.
В условии останова возможно и есть ошибка. Но точно могу сказать, что никаких ограничений на кол-во примеров в компонентах нет. Главное, чтобы их можно было закэшировать и хватило производительности на обучение.
Арустамов Алексей
30-09-2003
Обсуждение: NeuralBase - нейросеть за 5 минут
Отличные компаненты, я уже реализовал одну программу на Delphi, используя компанент TNeuralNetBT, решив сделать возможность работы с заранее обученной сетью я заменил TNeuralNetBP TNeuralNetExtended
теперь программа почему-то неработае (выдает) NotEqualFieldError хотя все указано верно, в чем может быть дела?
Леонид
01-05-2003
Обсуждение: NeuralBase - нейросеть за 5 минут
Скажите пожалуйста, какие ограничения по размеру паттерно накладываются при использовании компонента TNeuralNetHopf. Я попробовал расширить матрицу с символом из примера до 40х40 клеток, и компонент перестал распознавать образы :(
Почему ?
Спасибо
Дмитрий
09-04-2003
Обсуждение: NeuralBase - нейросеть за 5 минут
Классный набор! Давно искал. Спасибо!
Andrew Velikoredchanin
07-09-2001
Обсуждение: NeuralBase - нейросеть за 5 минут
Супер !!!!
Nicola
12-07-2001



новое сообщение
карта форума
правила форума
обратная связь
