DZone
Thanks for visiting DZone today,
Edit Profile
  • Manage Email Subscriptions
  • How to Post to DZone
  • Article Submission Guidelines
Sign Out View Profile
  • Post an Article
  • Manage My Drafts
Over 2 million developers have joined DZone.
Log In / Join
Refcards Trend Reports Events Over 2 million developers have joined DZone. Join Today! Thanks for visiting DZone today,
Edit Profile Manage Email Subscriptions Moderation Admin Console How to Post to DZone Article Submission Guidelines
View Profile
Sign Out
Refcards
Trend Reports
Events
Zones
Culture and Methodologies Agile Career Development Methodologies Team Management
Data Engineering AI/ML Big Data Data Databases IoT
Software Design and Architecture Cloud Architecture Containers Integration Microservices Performance Security
Coding Frameworks Java JavaScript Languages Tools
Testing, Deployment, and Maintenance Deployment DevOps and CI/CD Maintenance Monitoring and Observability Testing, Tools, and Frameworks
Partner Zones AWS Cloud
by AWS Developer Relations
Culture and Methodologies
Agile Career Development Methodologies Team Management
Data Engineering
AI/ML Big Data Data Databases IoT
Software Design and Architecture
Cloud Architecture Containers Integration Microservices Performance Security
Coding
Frameworks Java JavaScript Languages Tools
Testing, Deployment, and Maintenance
Deployment DevOps and CI/CD Maintenance Monitoring and Observability Testing, Tools, and Frameworks
Partner Zones
AWS Cloud
by AWS Developer Relations
The Latest "Software Integration: The Intersection of APIs, Microservices, and Cloud-Based Systems" Trend Report
Get the report
  1. DZone
  2. Data Engineering
  3. AI/ML
  4. Neuroph: Smart Java Apps with Neural Networks (Part 2)

Neuroph: Smart Java Apps with Neural Networks (Part 2)

R. Kusterer user avatar by
R. Kusterer
·
Aug. 18, 09 · Interview
Like (0)
Save
Tweet
Share
29.61K Views

Join the DZone community and get the full member experience.

Join For Free

Neural networks can learn to map input onto output data, and are used for tasks like automated classification, prediction, and artificially intelligent game characters. The NetBeans team interviewed Zoran Sevarac, who is working on Neuroph, the open-source neural network framework. Part one of the interview explains what neural networks are and why the NetBeans IDE was the natural choice for the Neuroph development team. This is part two of the interview where we have a closer look at use cases of neural networks—and what they can do for you!

What is this game image recognition tool that we heard about on Slashdot?

The game image recognition program is called DotA AutoScript. DotA AutoScript uses the Neuroph framework to interpret images on the screen to maintain a real-time model of the game state while playing Defense of the Ancients (DotA). The player is provided with various hints and shortcut macros on-the-fly, depending on what situations he finds himself in.

Such an image recognition network built with the Neuroph framework can be similarly applied to many kinds of image classification problems, such as optical character recognition (OCR), or building webcam security software. The Neuroph framework is not limited to games, but they make a fun showcase of the technology.

Neuroph includes many tools for building image classification networks in the newest distribution. The image recognition plugin for Neuroph was originally built for DotA AutoScript by Jon Tait and has since been integrated to the Neuroph project.

neural network usecases

And how can I, Mr. Joe Java Developer, benefit from neural networks?

If you need non-linear classification, prediction, recognition, learning from experience, or adaptive control, then a neural network could be right for you. For many applications, the Multi Layer Perceptron can do the job, you just need to experiment a bit and figure out the right architecture.

The Neuroph framework provides an easy-to-use tool and API which can be customized for specific needs. The Getting Started tutorial shows you how to create a basic neural network with easyNeurons, and how you can save it as a Java component and use it in your programs.

It is also very likely that we'll create a neural network plugin for the NetBeans IDE in the future. The idea is to have a Neural Network Components palette that lets you drag'n'drop neural networks into your Java application—for example if you need a neural classifier or image recognition. Recently I saw that somebody already started making a neural network plugin for NetBeans, the Neurox plugin, so we may join our efforts in the future.

How does the Neuroph user interface assist me?

The Neuroph user interface guides you through the training process with a set of dialogs.

1. Use the Networks menu to create a neural network with layers of Neurons

screenshot

2. Use the Training menu to create a training set containing the data the network should learn.

screenshot

3. To train the network, select the training set from the list

screenshot

You can use default settings, and just click the Train button.

screenshot

When the difference between actual network output and desired output falls under a certain threshold, the learning is complete.

4. Test the network by giving it an input value and seeing what output value you will get.

screenshot

 

How do I get started with Neuroph? Is it free?

Yes it's free, and under the LGPL licence, which means that it can also be used in commercial projects.

To get started with Neuroph download the distribution: It contains complete sources, binaries, javadoc, class diagram and a Getting Started tutorial. In July 2009, we have just released version 2.2 of the Neuroph framework. Look at the help system for some basic examples, and follow the provided link to learn more about neural networks.

At the current stage of development the Neuroph framework is primarily intended for beginners in neural networks, but it is also ready for real applications. Neuroph is already being used in teaching neural networks at our University, and in our experience absolute beginners in this area had no issues in using it. Solid Java knowledge is a prerequisite.

Zoran, thank you for this interview.

Related Links

  • Download Neuroph
  • Neuroph blog
  • Neuroph Documentation
  • NetBeans Platform API and tutorials
  • NetBeans Platform for Desktop Java Development training class
neural network Network Neuroph Java (programming language)

Opinions expressed by DZone contributors are their own.

Popular on DZone

  • Introduction to NoSQL Database
  • Reconciling Java and DevOps with JeKa
  • ClickHouse: A Blazingly Fast DBMS With Full SQL Join Support
  • Java REST API Frameworks

Comments

Partner Resources

X

ABOUT US

  • About DZone
  • Send feedback
  • Careers
  • Sitemap

ADVERTISE

  • Advertise with DZone

CONTRIBUTE ON DZONE

  • Article Submission Guidelines
  • Become a Contributor
  • Visit the Writers' Zone

LEGAL

  • Terms of Service
  • Privacy Policy

CONTACT US

  • 600 Park Offices Drive
  • Suite 300
  • Durham, NC 27709
  • support@dzone.com
  • +1 (919) 678-0300

Let's be friends: