Как стать автором
Обновить

Комментарии 12

Спасибо за интересную статью. Следует однако отметить, что в ней вы рассмотрели довольно простую задачу. Попробуйте, например, задачу распознавания образов, и все сразу станет намного интереснее. Плюс Fann насколько я понимаю не параллелится, а жаль, потому что обучение нейронных сетей можно существенно ускорить на многоядерных процессорах.
Спасибо. Обязательно попробую. После чего поделюсь результатами. FANN мне понравилась тем что ее очень легко использовать. Есть еще интересный проект OpenANN. Но пока руки не дошли попробовать ее вставить в java проект.
Лет 6 назад использовал joone framework для распознавания капчи — java библиотека без нативного кода. У нее был простой api, много типов поддерживаемых типов сетей, визуальный редактор для конструирования и обучения искусственной нейронной сети. Но он давно не поддерживается.
Более новая и библиотека Encog, поддерживала в том числе работу на GPGPU
А чем закончилось все? Каков был процент распознавания?
На тот момент в связи с глюкавостью сервиса, при перезапросе URL с капчей он перегенерировал картинку с теми же цифрами, но с другой деформацией. Благодаря этой оплошности разработчиков, я не помню чтобы у меня была хоть одна ошибка при распознавании из 15 разных картинок с одним и тем же фактическим содержимим капчи
не совсем понял зачем тут нейронная сеть для элементарной задачи. Уверен что для данной задачей можно обойтись пучком if-ов
Это простой пример для демонстрации возможностей ИНН и библиотеки.
НЛО прилетело и опубликовало эту надпись здесь
Спасибо за удобную вводную статью. Я использовал те же исходные данные (набор + параметры сети), но результаты получил другие.
Непонятна структура файла уроков.
Что такое:
>11 3 4

Почему в обучающем файле всего 3 колонки, где колонка с результатом?
11 — количество «уроков»
3 — количество входных параметров
4 — количество вариантов результата

Нужно рассматривать по две строки:
0.5 1 4
0 0 1 0

Означает, что когда на выход поступит последовательность «50% жизни, пистолет, 4 врага», то результат будет равен «3» ( активен третий «бит» из четырёх ). Что будет означать это, мы определили позже:
 case 2:return "бежать";
Добрый вечер, пытаюсь засунуть эту библиотеку в android, но всё бесполезно, уже кучу форумов облазил, постоянно падает при инициализации:
java.lang.UnsatisfiedLinkError: Can't obtain static method fromNative(Method, Object) from class com.sun.jna.Native at com.sun.jna.Native.initIDs(Native Method)

List<Layer> layerList = new ArrayList<Layer>();
layerList.add(Layer.create(1, ActivationFunction.FANN_SIGMOID_SYMMETRIC, 0.01f));
layerList.add(Layer.create(10, ActivationFunction.FANN_SIGMOID_SYMMETRIC, 0.01f));
fann = new Fann(layerList);// на этой строке падает


в gradle вот
implementation group: 'net.java.dev.jna', name: 'jna', version: '4.1.0'
implementation group: 'com.googlecode.fannj', name: 'fannj', version: '0.6'

Может кто-нибудь знает в чём проблема?
Зарегистрируйтесь на Хабре, чтобы оставить комментарий

Публикации