das heurige DevFest und Tensorflow - DevFest and TensorFlowsteemCreated with Sketch.

in #deutsch5 years ago

das heurige DevFest und Tensorflow - DevFest and TensorFlow

English summary below

Wie all Jahre wenn ich keine bezahlte Arbeit habe, gehe ich im November aufs DevFest an der TU. Üblicherweise ist das DevFest gut gesponsert, aber dieses Jahr dominierte Java und das Sponsoring war nicht so wie sonst immer. Lediglich willhaben war eine der wenigen Konstanten zusammen mit den Leuten vom Check-In, wie u.a. der chilenischstämmige Freelancer Huidobro, der einen für Russen sehr einprägsamen Namen hat.

Eigentlich kommt Dev aus dem Sanskrit und bedeutet so viel wie Gott, aber heute versteht man es eher als Abkürzung für developer - also einen Entwickler. Wenn man jetzt an jemanden denkt, der sich in einen Fliegenfänger verfangen hat oder an ein Katzerl, das sich zulange min Wollknäuel gespielt hat, dann wirds das wohl eher nicht sein, wobei durchaus alle zwei durchaus mit Entwickeln beschäftigt sein können.

Bin dann doch früher abgehaut und am Sonntag gabs dann eine Einführung in TensorFlow im Museumsquartier.

der TensorFlow-Kurs im MQ

Also neben den schon seit Jahrzehnten bekannten Neuronalen Netzen thematisierte der Kurs auf udacity wie man schnell und einfach Katzen von Hunden unterscheiden lernt --- also wie man das mit TensorFlow einer Maschine beibringt und --- und wie man Kleidgunsstücke klassifiziert.

Neuronen können durch Funktionen beschrieben werden die Eingabewerte mit Gewichten multiplizieren, diese zusammenaddieren, einen sogenannten Bias oder Schwellenwerte hinzufügen und dann an andere Neuronen weiterleiten. Kurzum sowas was wie das da ausschaut:

neuron1=i1w1+i2w2+i3w3+b1

wobei gültige Werte zwischen 0 und 1 bzw. auch zwischen 0 und -1 liegen können.

Hier das ganze noch mal in JavaScript:

function neuron(neuronIndex,i1,i2,i3){
 var b=getBias(neuronIndex);
 var w=getWeights(neuronIndex);

 return i1*w[1]+w[2]*i2+w[3]*i3+b;
}

Die Gewichte(weights) und der Schwellenwert(bias) werden dabei nach etwas komplexeren mathematischen Verfahren angepasst und damit erreicht man durchaus eine Trefferquote von 80% oder mehr - hängt halt von der Aufgabe ab.

Besonders erwähnenswert ist das die Funktionsweise von neuronalen Netzen durch Multiplikation und Addition emuliert werden kann und da es sich um Werten aus Feldern oder Arrays handelt, lässt sich das auch besonders gut mit GPUs emulieren.

Convolutional Neuronal Networks

Neuronale Netze wie oben beschrieben unterstützen nicht wirklich das Erkennen von Bildern in Bildern usw. da sie ja nicht wirklich ansatzweise im Konzept irgendetwas von Zweidimensionalität vorgeben.CNN

So kam man bereits im Jahre 1989 drauf, dass man ja die Daten, die man an so ein neuronales Netz weitergibt durch Algorithmen vorfiltern kann und dann weit bessere Ergebnisse erzielt. Schließlich führte das Jahrzehnte später dazu das es jetzt maschinelle Gesichtserkennung gibt und die Menschen im Go besiegt wurden.

Ich möchte nicht wirklich mit Details langweilen, aber das Grundprinzip ist einfach das eine kleinere Matrix oder Kernel aus Teilen einer größeren Matrix berechnet wird und das ist erst der Anfang einer etwas aufwendigeren Prozedur, aber letztendlich kriegt dann irgendein neuronales Netz oder besser gesagt dessen modellierte Simulation irgendwelche Werte.

summary

Google bought Keras and created TensorFlow which is quite a tool for dealing with machine learning and neuronal networks in a programming language called Python. It supports GPU and together with the right hardware it might even be useful. Every year the technical university of Vienna which is a city of a country which lacks kangaroos in its wildlife but despite having no outbacks and deserts might still be considered to be in the middle of nowhere by many.

As Microsoft even Google is quite overpromoting its stuff and this year it hit the MQ in the center of Vienna.
However you still can use TensorFlow to find cat pictures or filtering out adult content. This udacity course tells you how to do so.

Sort:  

Für alles was nicht grad deeplearning ist, kann ich scikit auch empfehlene!

Danke für deinen Beitrag und ein angenehmens Wochenende sei dir gewünscht