Möchten Sie Ihren Maschinen -Emojis beibringen? ?
Ich habe ein neuronales Netzwerk vollständig in Swift erstellt. Dies ist eine Demo, um zu demonstrieren, was zu lösen ist.
Ich habe den Spielplatz auf MacOS benutzt.
Ich glaube an Open Source, ich denke, um die Menschheit voranzutreiben
Sie können sich das YouTube -Video hier ansehen
Ich habe diese Herausforderung verwendet, um mehr über neuronale Netzwerke und maschinelles Lernen zu erfahren. Ein neuronales Netzwerk besteht aus Schichten, und jede Schicht hat Neuronen. Mein Netzwerk verfügt über drei Ebenen: eine Eingangsschicht, eine versteckte Ebene und eine Ausgabegleiche.
Die Eingabe in mein Netzwerk hat 64 Binärzahlen. Diese Eingaben sind mit den Neuronen in der versteckten Schicht verbunden. Die versteckte Schicht führt eine gewisse Berechnung durch und übergibt das Ergebnis an das Ausgangsschicht -Neuron aus. Dies führt auch eine Berechnung durch und gibt dann eine 0 oder eine 1. Ausgabe aus. Die Eingangsschicht tut eigentlich nichts, sie sind nur Platzhalter für den Eingangswert. Nur die Neuronen in der versteckten Schicht und der Ausgangsschicht führen Berechnungen durch. Die Neuronen der Eingangsschicht sind mit den Neuronen in der versteckten Schicht verbunden. Ebenso sind beide Neuronen aus der versteckten Schicht mit der Ausgangsschicht verbunden. Diese Art von Schichten werden vollständig vernetzt, da jedes Neuron in der nächsten Schicht mit jedem Neuron verbunden ist. Jede Verbindung zwischen zwei Neuronen hat ein Gewicht, was nur eine Zahl ist. Diese Gewichte bilden das Gehirn meines Netzwerks. Für die Aktivierungsfunktion in meinem Netzwerk verwende ich die Sigmoid -Funktion.
Sigmoid ist eine mathematische Funktion. Das Sigmoid nimmt einige Nummer X auf und konvertiert es in einen Wert zwischen 0 und 1.. Dies ist für meine Zwecke ideal, da ich mit Binärzahlen zu tun habe. Dies verwandelt eine lineare Gleichung in etwas, das nichtlinear ist. Dies ist wichtig, da das Netzwerk ohne dies keine interessanten Dinge lernen kann.
Ich habe bereits erwähnt, dass die Eingabe in dieses Netzwerk 64 Binärzahlen sind. Ich habe die Größe des gezeichneten Bildes auf 8x8 Pixel, was 64 Pixel zusammenstellt. Ich gehe das Bild durch und überprüfe jedes Pixel, wenn das Pixel eine rosa Farbe hat. Ich füge meinem Array eine 1 hinzu. Andernfalls füge ich eine 0 hinzu. Am Ende habe ich 64 Binärzahlen, die ich meiner Eingangsschicht hinzufügen kann.
Mein Hauptziel war es, neuronales Netzwerk und maschinelles Lernen zugänglicher und unterhaltsamer zu gestalten. Um mehr über die mächtigen Merkmale von Spielplätzen und neuronalen Netzwerken zu erfahren.
@Reffas_Bilal
Vincent Esche
Pro Harald Borgen
Matthijs Hollemans
Wenn Ihnen dieses Projekt gefällt, hinterlassen Sie bitte einen Stern? Hier auf Github und teilen Sie es.
Ich arbeite mit @Leomehlig an Lubra. Hier finden Sie mehr darüber
Alle Stücke sind mit viel Liebe handgefertigt und auf der ganzen Welt geschickt?
Dieses Projekt arbeitet derzeit nur an macOS. Auf dem iPad gibt es einen Fehler, das ich bereits auf dem Bug -Reporter eingereicht habe. Ich hoffe, Apple wird dies bald beheben.
MIT License
Copyright (c) 2017 Luubra
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.