\section{Motivation} \begin{frame}{Grenzen bisheriger Konzepte} \begin{block}{Fuzzy-Regler} \begin{itemize} \item Nicht lernfähig \item Fuzzy-Mengen und -Regeln müssen bekannt sein \item Vollständigkeit \end{itemize} \end{block} \begin{block}{Neuronale Netze} \begin{itemize} \item A-priori Wissen nicht nutzbar \item Lernerfolg ungewiss \item \textit{Blackbox} \end{itemize} \end{block} \end{frame} \section{Grundlagen} \subsection{Kooperative Ansätze} \begin{frame}{Kooperative Ansätze} \begin{block}{Eigenschaften} \begin{itemize} \item Neuronales Netz und Fuzzy-Regler bleiben als eigenständige Systeme erhalten \item Geringer Kopplungsgrad \item Vor- und Nachteile bleiben weitgehend erhalten \end{itemize} \end{block} \begin{block}{Einfachste Kopplung} Neuronales Netz zur Aufbereitung von Ein- oder Ausgaben eines Fuzzy-Reglers \end{block} \end{frame} \begin{frame}{Kooperative Ansätze, offline} \begin{columns} \column{.5\textwidth} \begin{block}{Fuzzy-Mengen aus Beispieldaten offline lernen} \includegraphics[width=\linewidth]{koop-fuzzysets.png} \begin{itemize} \item Bestimmung geeigneter Parameter der Zugehörigkeitsfunktionen \item Approximation der Zugehörigkeitsfunktionen \end{itemize} \end{block} \column{.5\textwidth} \begin{block}{Fuzzy-Regeln aus Beispieldaten offline lernen} \includegraphics[width=\linewidth]{koop-fuzzyrules.png} \\Clustering-Verfahren (selbstorganisierende Karten) zur Bestimmung der Fuzzy-Regeln \end{block} \end{columns} \end{frame} \begin{frame}{Kooperative Ansätze, online} \begin{columns} \column{.5\textwidth} \begin{block}{Fuzzy-Mengen online lernen} \includegraphics[width=\linewidth]{koop-fuzzysets-online.png} \end{block} \column{.5\textwidth} \begin{block}{Fuzzy-Regeln online lernen} \includegraphics[width=\linewidth]{koop-fuzzyrules-online.png} \end{block} \end{columns} \end{frame} \subsection{Hybride Ansätze} \begin{frame}{Hybrider Neuronaler Fuzzy-Regler} \begin{block}{Schema} \includegraphics[height=0.75\textheight]{hybrid-neuro-fuzzy-ctrl.png} \end{block} \end{frame} \section{Generisches Fuzzy-Perzeptron} \subsection{XOR-Problem} \begin{frame}{Generisches Fuzzy Perzeptron} \begin{columns} \column{.2\textwidth} \includegraphics[width=\linewidth]{xor.png} \column{.8\textwidth} \begin{tabular}{|p{.3cm}|p{.3cm}|p{.8cm}|p{.8cm}|p{1.2cm}|p{1.2cm}|p{1.25cm}|} \hline $x_1$ & $x_2$ & $out_{u_{11}}$ & $out_{u_{12}}$ & $out_{u_{21}}$ & $out_{u_{22}}$ & $out_{u_{31}}$ = y \\ \hline 0 & 0 & 0 & 0 & min(0,1)\linebreak = 0 & min(0,1)\linebreak = 0 & max(0,0)\linebreak = 0 \\ \hline 0 & 1 & 0 & 1 & min(0,0)\linebreak = 0 & min(1,1)\linebreak = 1 & max(0,1)\linebreak = 1\\ \hline 1 & 0 & 1 & 0 & min(1,1)\linebreak = 1 & min(0,0)\linebreak = 0 & max(1,0)\linebreak = 1 \\ \hline 1 & 1 & 1 & 1 & min(1,0)\linebreak = 0 & min(1,0)\linebreak = 0 & max(0,0)\linebreak = 0 \\ \hline \end{tabular} \end{columns} \end{frame} \subsection{Beschreibung} \begin{frame}{Fuzzy-Neuronen} \begin{itemize} \item Eingabeschicht $U_1 = \left\lbrace x_1,\dots,x_n \right\rbrace$ \item Versteckte Schicht $U_2 = \left\lbrace R_1,\dots,R_r \right\rbrace$ \item Ausgabeschicht $U_3 = \left\lbrace y_1,\dots,y_m \right\rbrace$ \item Verarbeitung je Neuron $u$: $net_u \to act_u \to out_u$ \end{itemize} \end{frame} \begin{frame}{Gewichte} \begin{itemize} \item Definiert durch Fuzzy-Mengen $\mu$ für Eingabeschicht $\to$ Versteckte Schicht \item Definiert durch Fuzzy-Mengen $\nu$ für Versteckte Schicht $\to$ Ausgabeschicht \end{itemize} \begin{displaymath} w_{vu} = \begin{cases} \mu^{\left(i\right)}_{j} \qquad \qquad \qquad \textrm{für}~ u=x_i,v=R_j \\ \nu^{\left(k\right)}_{j} \qquad \qquad \qquad \textrm{für}~ u=R_j,v=y_k \\ \textrm{undefiniert} \qquad \quad \textrm{sonst} \end{cases} \end{displaymath} $1 \leq i \leq n$, $1 \leq j \leq r$, $1 \leq k \leq m$ \\ $\mu^{\left(i\right)}_{j} \in F\left(\mathbb{R}\right)$, $\nu^{\left(k\right)}_{j} \in F\left(\mathbb{R}\right)$ \\mit $F\left(\mathbb{R}\right) := \textrm{die Menge aller Fuzzy-Mengen über } \mathbb{R}$ \end{frame} \frame{ \frametitle{Eingabeschicht $u \in U_1$} \begin{block}{Netzeingabefunktion} Abbildung von $\mathbb R$ auf $\mathbb R$ für externe Eingabe $ext_u$ \\ $f^{\left(u\right)}_{net}: net_u = ext_u$ \end{block} \begin{block}{Aktivierungsfunktion} Abbildung von $\mathbb R$ auf $\mathbb R$ für Netzeingabe $net_u$ \\ $f^{\left(u\right)}_{act}: act_u = net_u$ \end{block} \begin{block}{Ausgabefunktion} Abbildung von $\mathbb R$ auf $\mathbb R$ für Aktivierung $act_u$ \\ $f^{\left(u\right)}_{out}: out_u = act_u$ \end{block} } \frame{ \frametitle{Versteckte Schicht $u \in U_2$} \begin{block}{Netzeingabefunktion} Abbildung von $\left(\mathbb R \times F\left(\mathbb{R}\right)\right)$ auf $\left[0,1\right] \in \mathbb{R}$ \\Gewicht zwischen $u$ und $u^{'} \in U_1$ \\t-Norm \end{block} \begin{block}{Aktivierungsfunktion} Abbildung von $\mathbb R$ auf $\mathbb R$ für Netzeingabe $net_u$ \\ $f^{\left(u\right)}_{act}: act_u = net_u$ \end{block} \begin{block}{Ausgabefunktion} Abbildung von $\mathbb R$ auf $\mathbb R$ für Aktivierung $act_u$ \\ $f^{\left(u\right)}_{out}: out_u = act_u$ \end{block} } \frame{ \frametitle{Ausgabeschicht $u \in U_3$} \begin{block}{Netzeingabefunktion} t-Conorm über die Ausgaben aller $u^{'} \in U_2$ mit dem Gewicht $w_{uu^{'}}$\\ \end{block} \begin{block}{Aktivierungsfunktion} $f^{\left(u\right)}_{act}: act_u = net_u$ \end{block} \begin{block}{Ausgabefunktion} Abbildung von $F\left(\mathbb{R}\right)$ auf $\mathbb R$ für Aktivierung $act_u$ \\ Geeignete Defuzzifizierung der Aktivierung $act_u$ \end{block} } \subsection{Lernverfahren} \begin{frame}{Fuzzy-Fehler} \begin{displaymath} E^{\left(p\right)}_{u}=1-\exp{\left(\beta\left(\frac{t^{\left(p\right)}_{u}-o^{\left(p\right)}_{u}}{range_{u}}\right)^{2}\right)} \end{displaymath} mit \begin{itemize} \item $u \in U_3$ \item $t$ Zielwert \item $o$ Ausgabewert \item $range_u$ Differenz zwischen maximalem und minimalem Ausgabewert des Neuron $u$ \item $\beta$ Toleranzfaktor \end{itemize} \end{frame} \begin{frame}{Fuzzy-Backpropagation} \begin{enumerate} \item Wähle ein beliebiges Muster $p$ einer gegebenen festen Lernaufgabe und propagiere den Eingabevektor $i^{p}$ \item Bestimme \begin{displaymath} \delta^{\left(p\right)}_{u} = \begin{cases} sgn\left( t^{p}_{u} - out^{p}_{u} \right) * E^{\left(p\right)}_{u} \qquad \textrm{für}~ u \in U_3 \\ \sum_{v \in U_{3} } act^{\left(p\right)}_{u}*\delta^{\left(p\right)}_{v} \qquad \quad ~\textrm{für}~ u \in U_2 \end{cases} \end{displaymath} \item Bestimme \begin{displaymath} \Delta_{p}w_{vu} = f\left( \delta^{\left(p\right)}_{u}, act^{\left(p\right)}_u, net^{\left(p\right)}_u \right) \end{displaymath} \end{enumerate} Wiederhole diese Schritte bis der Gesamtfehler \begin{displaymath} E=\sum_{p}\sum_{u \in U_{3}}E^{\left(p\right)}_{u} \end{displaymath} hinreichend klein ist oder ein anderes Abbruchkriterium erfüllt wird. \end{frame}