Connect with us

Entwicklung & Code

Künstliche Neuronale Netze im Überblick 9: Die Zukunft Neuronaler Netze


Neuronale Netze sind der Motor vieler Anwendungen in KI und GenAI. Diese Artikelserie gibt einen Einblick in die einzelnen Elemente. Der neunte Teil wirft einen Blick auf die kommende Generation von Modellen.


Michael Stal

Michael Stal

Prof. Dr. Michael Stal arbeitet seit 1991 bei Siemens Technology. Seine Forschungsschwerpunkte umfassen Softwarearchitekturen für große komplexe Systeme (Verteilte Systeme, Cloud Computing, IIoT), Eingebettte Systeme und Künstliche Intelligenz.

Er berät Geschäftsbereiche in Softwarearchitekturfragen und ist für die Architekturausbildung der Senior-Software-Architekten bei Siemens verantwortlich.

Die Forschung im Bereich neuronaler Netze schreitet rasch voran, und mehrere Trends versprechen, die nächste Generation von Modellen zu prägen. Attention-Only-Architekturen, vom Transformer-Modell eingeführt, haben bereits in Bereichen wie der natürlichen Sprachverarbeitung die Rekursion verdrängt und werden nun auch im Bereich der Bildverarbeitung eingesetzt. Die zentrale Innovation des Transformers besteht darin, Schichten aus Multi-Head-Self-Attention- und Feedforward-Netzwerken zu stapeln, wodurch eine vollständige Eliminierung von Faltungen und Rekursionen erfolgt. In PyTorch kann man eine Transformer-Encoder-Schicht mit folgendem Code instanziieren:


import torch.nn as nn  

encoder_layer = nn.TransformerEncoderLayer(d_model=512,  
                                           nhead=8,  
                                           dim_feedforward=2048)  
transformer_encoder = nn.TransformerEncoder(encoder_layer, num_layers=6)  
# Eingabeform: (seq_len, batch, d_model)  
src = torch.randn(100, 32, 512)  
output = transformer_encoder(src)  # (100, 32, 512)  


Selbstüberwachtes Lernen ist ein weiterer wichtiger Trend. Durch das Vorabtrainieren von Modellen auf riesigen unbeschrifteten Datensätzen mithilfe von Aufgaben wie maskierter Token-Vorhersage oder kontrastivem Lernen kann man Darstellungen lernen, die sich mit begrenzten beschrifteten Daten effektiv auf nachgelagerte Aufgaben übertragen lassen. Beispiele hierfür sind BERT im Bereich Sprache und SimCLR im Bereich Bildverarbeitung.

Graph Neural Networks verallgemeinern die Faltung auf beliebige Graphstrukturen, indem sie Informationen aus den Nachbarn eines Knotens aggregieren. Ihre Layer-Aktualisierung erfolgt in der Form

hᵢ′ = σ( W·hᵢ + Σ_{j∈N(i)} U·hⱼ + b )

und ermöglicht Anwendungen in der Chemie, in sozialen Netzwerken und in der kombinatorischen Optimierung.

Die automatisierte Suche nach neuronalen Architekturen nutzt verstärktes Lernen oder evolutionäre Algorithmen, um optimale Netzwerktopologien zu finden. Techniken wie NASNet und EfficientNet haben Modelle hervorgebracht, die unter gegebenen Rechenbeschränkungen besser abschneiden als von Menschen entworfene Architekturen.

Kontinuierliches Lernen und Meta-Lernen zielen darauf ab, Netzwerke mit der Fähigkeit auszustatten, neue Aufgaben zu lernen, ohne vorherige zu vergessen, oder sich mit wenigen Beispielen schnell an neue Aufgaben anzupassen.

Schließlich bleiben Interpretierbarkeit und Zuverlässigkeit von entscheidender Bedeutung. Methoden zur Erklärung von Netzwerkentscheidungen – wie Salienzkarten, SHAP-Werte und Konzeptaktivierungen – tragen dazu bei, Vertrauen in KI-Systeme aufzubauen, insbesondere in sicherheitskritischen Bereichen.

Mit der Weiterentwicklung der Hardware werden spezialisierte Beschleuniger für „spärliche“ Berechnungen, Arithmetik mit geringer Genauigkeit und neuromorphe Designs den Anwendungsbereich neuronaler Netze weiter ausbauen. Eine weitere Entwicklung sind Quanten-Neuronale Netzwerke, die sich noch in den Kinderschuhen befinden.

Während dieser gesamten Entwicklung bleiben die Kernprinzipien – Definition von Neuronen, Stapeln von Schichten, Auswahl von Aktivierungen, Messung von Verlusten und Optimierung von Parametern – die Grundlage. Die Landschaft der auf diesen Prinzipien aufbauenden Modelle erweist sich als immer reichhaltiger und vielfältiger.

Der nächste Beitrag wird sich mit Graphisch-Neuronalen Netzwerken beschäftigen. Sie eignen sich für Deep Learning mit Daten, deren Beziehungen sich durch Knoten und Kanten ausdrücken lassen.


(rme)



Source link

Entwicklung & Code

software-architektur.tv: Residuality Theory mit Barry O’Reilly


Die Residualitätstheorie (engl.: Residuality Theory) ist eine revolutionäre neue Theorie des Softwaredesigns, die darauf abzielt, die Entwicklung von Softwaresystemen für komplexe Geschäftsumfelder zu erleichtern. Sie modelliert Softwaresysteme als miteinander verbundene Residuen – eine Alternative zur Komponenten- und Prozessmodellierung. Dabei wird angewandte Komplexitätswissenschaft genutzt, um den Umgang mit Unsicherheit zu einem grundlegenden Bestandteil des Designprozesses zu machen.

In dieser englischsprachigen Episode des Videocasts software-architektur.tv bespricht Eberhard Wolff mit Barry O’Reilly, einem erfahrenen Architekten, diesen neuartigen Ansatz. Barry O’Reilly wird außerdem einen Workshop und einen Vortrag zu diesem Thema beim Software Architecture Gathering halten, das vom 24. bis 27. November 2025 in Berlin stattfindet.

Die Ausstrahlung findet am Freitag, 19. September 2025, live von 13 bis 14 Uhr statt. Die Folge steht im Anschluss als Aufzeichnung bereit. Während des Livestreams können Interessierte Fragen via Twitch-Chat, YouTube-Chat, Bluesky, Mastodon, Slack-Workspace oder anonym über das Formular auf der Videocast-Seite einbringen.

software-architektur.tv ist ein Videocast von Eberhard Wolff, Blogger sowie Podcaster auf iX und bekannter Softwarearchitekt, der als Head of Architecture bei SWAGLab arbeitet. Seit Juni 2020 sind über 250 Folgen entstanden, die unterschiedliche Bereiche der Softwarearchitektur beleuchten – mal mit Gästen, mal Wolff solo. Seit mittlerweile mehr als zwei Jahren bindet iX (heise Developer) die über YouTube gestreamten Episoden im Online-Channel ein, sodass Zuschauer dem Videocast aus den Heise Medien heraus folgen können.

Weitere Informationen zur Folge finden sich auf der Videocast-Seite.


(mdo)



Source link

Weiterlesen

Entwicklung & Code

Projektmanagement: Wieso Diversität im Team wichtig ist


Moin.


Escape the Feature Factory: Stefan Mintert

Escape the Feature Factory: Stefan Mintert

(Bild: 

Stefan Mintert

)

Stefan Mintert arbeitet mit seinen Kunden daran, die Unternehmenskultur in der Softwareentwicklung zu verbessern. Das derzeit größte Potenzial sieht er in der Leadership; unabhängig von einer Hierarchieebene.

Die Aufgabe, dieses Potenzial zu heben, hat er sich nach einem beruflichen Weg mit einigen Kurswechseln gegeben. Ursprünglich aus der Informatik kommend, mit mehreren Jahren Consulting-Erfahrung, hatte er zunächst eine eigene Softwareentwicklungsfirma gegründet. Dabei stellte er fest, dass Führung gelernt sein will und gute Vorbilder selten sind.

Es zeichnete sich ab, dass der größte Unterstützungsbedarf bei seinen Kunden in der Softwareentwicklung nicht im Produzieren von Code liegt, sondern in der Führung. So war es für ihn klar, wohin die Reise mit seiner Firma Kutura geht: Führung verbessern, damit die Menschen, die die Produkte entwickeln, sich selbst entwickeln und wachsen können.

Für Heise schreibt Stefan als langjähriger, freier Mitarbeiter der iX seit 1994.

Im gesellschaftlichen Diskurs geht es bei der Diversität um eine Vielfalt bestimmter Gruppenmerkmale. Als Beispiel für die Vielfalt der Arbeitswelt sei die „Charta der Vielfalt“ genannt: „Ziel der Charta der Vielfalt ist es, ein Arbeitsumfeld zu schaffen, in dem alle Beschäftigten die gleiche Wertschätzung und Förderung erfahren, unabhängig von Nationalität, ethnischer Herkunft, Religion oder Weltanschauung, sozialer Herkunft, Behinderung, Alter sowie sexueller Orientierung und Identität.“ (Wikipedia)

Nun gilt es als akzeptierte Wahrheit, dass diverse Teams besser geeignet sind, um komplexe Probleme zu lösen, die etwa in der Softwareentwicklung auftreten. Bedeutet das, ich sollte in meinem Entwicklerteam alle Weltreligionen und ein paar Nationalitäten vertreten haben?

Nach meiner Erfahrung sind das nicht die Diversitätsfaktoren, die den Unterschied machen. Es kommt auf etwas anderes an. Ein Artikel in Harvard Business Review unterstützt diese Meinung und spricht von „kognitiver Diversität“.

Worauf kommt es an, wenn man ein Team divers aufstellen will? Ohne Anspruch auf Allgemeingültigkeit kann ich folgende Faktoren nennen, bei denen Vielfalt innerhalb eines Teams nach meiner Beobachtung einen positiven Einfluss hat.

Alter und Geschlecht spielen eine Rolle. Einerseits glaube ich, dass Männer und Frauen Probleme tendenziell unterschiedlich angehen. Das ist gerade bei komplexen Aufgaben hilfreich. Genauso sorgt eine größere Altersbandbreite im Team dafür, dass die Teammitglieder sehr verschiedene fachliche Erfahrungen mitbringen.

Die Dauer der Firmenzugehörigkeit ist ebenfalls ein wichtiger Faktor. Es ist hilfreich, wenn der „alte Hase“, der sehr gut vernetzt ist, weiß, wen das Team bei einem Problem ansprechen kann. Auf der anderen Seite laufen die jungen Teammitglieder nicht so leicht Gefahr, ein Problem so anzugehen, „wie wir das immer schon gemacht haben“. Sie bringen neue Ansätze und Sichtweisen ins Team.

Eine große Vielfalt der Perspektiven kommt ins Team, wenn nicht alle Teammitglieder die gleichen Ausbildungen durchlaufen haben. Eine Gruppe von Informatikern wird ein Problem sehr wahrscheinlich mit den Mitteln lösen, die man im Informatikstudium gelernt hat. Kommen weitere Disziplinen hinzu, etwa Sozialwissenschaften, Physik, Philosophie oder Ingenieurwesen, steigt die Zahl der Lösungsansätze. Mein Lehrer im Mathe-Leistungskurs hat gerne eine Geschichte aus der Eigentümerversammlung in seinem Haus erzählt. Bis auf eine Person handelte es sich um Akademiker, ihn selbst eingeschlossen. Wenn im Haus ein Defekt auftrat, haben die Studierten in der Versammlung über ausgefeilte Lösungsansätze diskutiert. In der gleichen Zeit hat der einzige Nicht-Akademiker den Schaden einfach repariert. Diese Anekdote zeigt, dass Monokulturen in der Ausbildung von Teammitgliedern oft nicht zu schlagkräftigen Teams führen.

Auch unterschiedliche Muttersprachen erlebe ich im Team als Bereicherung. Das mag an der damit verbundenen Vielfalt der Kulturen liegen, in denen die Teammitglieder aufgewachsen sind, oder daran, dass Sprache das Denken formt.

Einen weiteren Faktor nenne ich in Anlehnung an ein bekanntes Buch: schnelles Denken, langsames Denken. Manchmal ist es wichtig, schnell voranzuschreiten, um beispielsweise mit einem frühen Prototypen einer Software schnell Nutzer-Feedback zu bekommen. Andererseits ist es hin und wieder gut, ein Problem von allen Seiten zu betrachten, um mit einer fundierten Lösung an die Öffentlichkeit zu gehen. Teams, in denen beide Ansätze durch unterschiedliche Personen vertreten sind, haben oft Konflikte. Wenn sie es aber gelernt haben, die Konflikte in der Sache auszutragen und nicht auf der persönlichen Ebene, ist es eine Stärke, mal einen Schnellschuss machen zu können und ein anderes Mal langsam und gewissenhaft zu arbeiten. Wichtig ist, dass sich die Vertreter der jeweiligen Fraktion im richtigen Moment zurücknehmen können.

Und, last, but not least, schätze ich Softwareteams, die in verschiedenen Programmierparadigmen (imperativ, OO, funktional, Logikprogrammierung) denken können. Zwar ist es oft keine Option, während der Produktentwicklung die Sprache zu wechseln oder eine weitere hinzuzufügen, jedoch erlauben einige Sprachen, mehrere Paradigmen zu verwenden. Als Beispiel sei die funktionale Programmierung genannt, die ehemals ausschließlich in funktionalen Sprachen zu finden war und in den vergangenen Jahren auch in objektorientierte Sprachen eingezogen ist.

Welche weiteren Faktoren von Diversität sind in Softwareteams hilfreich? Ich würde mich freuen, in den Kommentaren Eure Meinungen zu lesen.

Abschließend möchte ich auf eine Frage eingehen: Wie kann man die Diversität bei Bedarf erhöhen? Das ist eine Frage der Teamentwicklung. Doch ich habe noch nicht erlebt, dass eine HR-Abteilung die genannten Aspekte beim Recruiting berücksichtigt. Auch ein Teamleiter sucht bei einer Neueinstellung eher nach jemandem, „bei dem die Chemie stimmt“. Das ist nicht pauschal schlecht, doch sollte man sich im Klaren darüber sein, dass eine höhere Diversität damit vielleicht nicht erreicht wird.

Das Team kann selbst die Führung übernehmen und an der Vielfalt arbeiten. Während sich am Alter, Geschlecht oder der Muttersprache der Teammitglieder nichts ändern lässt, ist eine bewusste Weiterbildung in Richtung neuer Skills und Kompetenzen möglich. Den Ausgangspunkt kann ein Team zum Beispiel damit machen, die Diversität der Gruppe zu bestimmen und sichtbar zu machen. Das ist der erste wichtige Schritt, um abzuleiten, in welchen Bereichen man nachbessern sollte. Und wenn eine Neubesetzung einer Stelle ansteht, kann das Team Einfluss nehmen. Damit übernehmen die Teammitglieder einen Teil der Führungsverantwortung, die sonst häufig von niemandem ausgeübt wird.

Im Podcast Escape the Feature Factory greife ich ausgewählte Themen des Blogs auf und diskutiere sie mit einem Gast. Durch den Austausch lerne ich eine zweite Perspektive kennen. Wenn Du auch daran interessiert bist, findest Du den Podcast bei Spotify, Deezer, Amazon Music, und Apple Podcasts. Wenn Du die Themen, die ich im Blog anspreche, verbessern möchtest, komm’ in unsere Leadership-Community für Softwareentwicklung.


(rme)



Source link

Weiterlesen

Entwicklung & Code

programmier.bar: Text-to-Speech mit Thorsten Müller


Immer mehr Alltagsgeräte geben Sprache aus. Was mit Screenreadern und Navigationssystemen begann, findet heute in Wohnzimmern und Hosentaschen mit Alexa und Siri statt. Doch wie lernen Computer eigentlich zu sprechen? Und lässt sich sogar die eigene Stimme klonen? Darüber sprechen Jan Gregor Emge-Triebel und Garrelt Mock von der programmier.bar mit Thorsten Müller, dem Macher und der Stimme hinter Thorsten-Voice. Die Besonderheit an dem Open-Source-Projekt: Sprachausgabe wird hier lokal erzeugt, komplett ohne Cloud-Dienste. Es ist auf Grundlage von Thorsten Müllers eigener Stimme trainiert und damit frei von rechtlich problematischen Trainingsdaten.

Thorsten Müller erzählt, was er beim Aufbau des Projekts gelernt hat, und gibt Tipps für alle, die selbst mit Sprachsynthese experimentieren wollen. Zusätzlich wirft er einen Blick auf die rasante Entwicklung der künstlichen Sprachausgabe. Neben Podcasting gibt es spannende Anwendungsfälle quer durch den Alltag.

Empfohlener redaktioneller Inhalt

Mit Ihrer Zustimmung wird hier ein externer Inhalt geladen.

Die aktuelle Ausgabe des Podcasts steht auch im Blog der programmier.bar bereit: „Text-to-Speech mit Thorsten Müller„. Fragen und Anregungen gerne per Mail oder via Mastodon, Bluesky, LinkedIn oder Instagram.


(mai)





Source link

Weiterlesen

Beliebt