Project_466

PaREn
Patter Recognition Engineering

Pattern recognition and machine learning are already being used in many specialty applications (spam classification, handwriting recognition, OCR, ad placement, etc.), but their potential for improving the way we use and interact with computers is far greater. Many functions and behavior are currently based on fixed, manually constructed rules that require programming skill, software engineering, and extensive testing in order to create and make reliable. Replacing this code with adaptive and trainable modules based on pattern recognition and machine learning holds the promise of reducing software development efforts, making software more robust, and solving real-world problems better.

While software engineering has advanced greatly over the last two decades, pattern recognition and machine learning code is still largely developed on a caseby- case basis by specialists. Furthermore, the methods for developing, training, and testing pattern recognition and machine learning modules differ greatly from those of other software systems since pattern recognition and machine learning methods are data-driven methods and often change behavior significantly for many input patterns in response to new training data, both properties not shared by normal software systems.

The goal of the PaREn project is to create the methods and tools necessary allowing non-experts to use, train, test, and deploy pattern recognition and machine learning modules in real-world software systems. The expected benefits are a far wider usage of pattern recognition and machine learning methods, leading to both better quality of the decisions and behaviors of software systems, as well as lower development costs.

Perhaps the biggest obstacle to the adoption and integration of pattern recognition and machine learning methods into real-world software systems is the mathematical complexity and sophistication required for adapting them to particular problems. This is not primarily a software engineering issue, it is a fundamental problem with the methods themselves: they usually have many parameters and their behavior is highly sensitive to how pattern recognition modules are interconnected. Furthermore, while many existing software components also may have many parameters that affect their behavior, those parameters generally correspond to concepts that are meaningful to application developers and can be optimized via trial and error. A major effort in the PaREn project will therefore be the development of new statistical methods and algorithms that are essential for reducing the number of parameters needed by pattern recognition and machine learning methods, automating parameter optimization, model selection, machine learning system construction, and supporting rapid testing, validation, and on-line adaptivity. Finally, we will be developing some new, collaborative environments and user interfaces for the development and training of pattern recognition systems that will be useful both for teaching pattern recognition, and for supporting the development and adaptation of pattern recognition systems in real-world environments.

Mustererkennung und maschinelles Lernen sind Techniken, die bereits in vielen Spezialanwendungen verwendet werden (Spam-Klassifikation, Handschrifterkennung, OCR, Werbungsplatzierung, etc.). Das Potential dieser Techniken in Bezug auf die Art und Weise, wie wir mit dem Computer interagieren ist jedoch bedeutend größer. Viele Funktionen und Verhaltensweisen des Computers basieren heute auf festen, von Hand erstellten Regeln, die Programmiererfahrung, Software-Engineering und ausführliches Testen bei der Erstellung erfordern. Die Ersetzung solchen Quellcodes durch adaptive und trainierbare Module, die auf Techniken der Mustererkennung und des maschinellen Lernens basieren, verspricht, den Arbeitsaufwand für die Erstellung von Software zu reduzieren, die Software robuster zu machen und bessere Lösungen für reale Probleme zu liefern.

Während das Software-Engineering in den vergangenen zwei Jahrzehnten große Fortschritte gemacht hat, wird Programmcode für Mustererkennung und maschinelles Lernen noch weitestgehend auf Einzelfall-Basis von Spezialisten entwickelt. Außerdem unterscheiden sich die Methoden für die Entwicklung, das Trainieren und das Testen von Mustererkennungsmodulen stark von denen anderer Softwaresysteme, da Mustererkennung und maschinelles Lernen Daten-getriebene Methoden sind und sich das Verhalten eines Systems für bestimmte Eingabedaten deutlich ändern kann, wenn neue Trainingsdaten vorliegen.

Das Ziel des PaREn-Projektes ist es, die Methoden und Werkzeuge zu entwickeln, die nötig sind, um auch Laien und Anfängern die Möglichkeit zu geben, Mustererkennungsmodule in Softwaresystemen zu benutzen, zu trainieren, zu testen und einzusetzen. Der erwartete Vorteil dieses Ansatzes ist eine deutlich weitere Verbreitung der Techniken der Mustererkennung und des maschinellen Lernens, was sowohl zu einer höheren Qualität der Entscheidungen und des Verhaltens von Softwaresystemen als auch zu geringeren Entwicklungskosten führen kann.

Das wohl größte Hindernis, das bei der Anwendung und Integration von Techniken der Mustererkennung und des maschinellen Lernens zu überwinden ist, ist die mathematische Komplexität und Erfahrenheit, die nötig ist, um sie für konkrete Fälle anzupassen. Dies ist nicht lediglich ein Problem des Software-Engineerings; es ist auch ein grundlegendes Problem der Methoden selbst: häufig haben sie viele Parameter und ihr Verhalten ist sehr empfindlich in Bezug auf die Vorgehensweise bei der Verbindung der Mustererkennungsmodule. Während auch klassische Softwaresysteme mit vielen Komponenten viele Parameter haben, die ihr Verhalten beeinflussen, entsprechen diese Parameter häufig Konzepten, die für die Entwickler bestimmte Bedeutungen haben und durch Versuch und Irrtum optimiert werden können. Ein großes Bestreben wird im PaREn-Projekt daher die Entwicklung von neuen statistischen Methoden und Algorithmen sein, die wesentlich sind für die Reduktion der Anzahl der Parameter, für die Automatisierung von Parameter- Optimierung, für die Modellauswahl, für die Konstruktion von Mustererkennungssystemen, und um schnelles Testen, schnelle Validierung und On-Line Adaptivität zu unterstützen.

Schließlich werden wir innerhalb des Projektes auch neue, kollaborative Umgebungen und Benutzerschnittstellen für die Entwicklung und das Training von Mustererkennungssystemen erarbeiten, die geeignet sind sowohl die Lehre im Bereich Mustererkennung als auch die Entwicklung von Mustererkennungssystemen in realen Umgebungen zu unterstützen.

Contact Person