Tylers Kneipe Foren-Übersicht Tylers Kneipe

 
 FAQFAQ   SuchenSuchen   MitgliederlisteMitgliederliste     RegistrierenRegistrieren 
 ProfilProfil   Einloggen, um private Nachrichten zu lesenEinloggen, um private Nachrichten zu lesen   LoginLogin 
Zum ChatSkypen

(new Thread(ProgrammingFactory.getDiscussion())).start();
Zurück  1, 2, 3 ... , 20, 21, 22, 23  Weiter Alle
 
Neues Thema eröffnen  Neue Antwort erstellen Tylers Kneipe Foren-Übersicht -> Special: Off-Topic
 
 
Autor Nachricht
Thanil
Iniesta de Toto


Beiträge: 46148
Wörter pro Beitrag: 42
Wohnort: ...
Private Nachricht senden
Skype Name Website dieses Benutzers besuchen

BeitragVerfasst am: 08.04.2014, 23:10                                  +/-

Frage an Programmierer-Cracks (= Tyler grins ):

Wie komme ich in PHP an den _stringValue in folgendem Objekt?

Code:
object(Pheal\Core\Result)#16 (5) {
  ["request_time"]=> string(19) "2014-04-08 20:25:02"
  ["request_time_unixtime"]=> int(1396988702)
  ["cached_until"]=> string(19) "2024-04-05 20:25:02"
  ["cached_until_unixtime"]=> int(1712348702)
  ["_element":"Pheal\Core\Result":private]=> object(Pheal\Core\Element)#18 (3) {
    ["_name"]=> string(6) "result"
    ["_value"]=> object(Pheal\Core\Container)#19 (1) {
      ["_container":"Pheal\Core\Container":private]=> array(1) {
        ["notifications"]=> object(Pheal\Core\RowSet)#24 (2) {
          ["_name"]=> object(SimpleXMLElement)#28 (1) {
            [0]=> string(13) "notifications"
          }
          ["storage":"ArrayObject":private]=> array(1) {
            [0]=> object(Pheal\Core\RowSetRow)#30 (2) {
              ["_stringValue":"Pheal\Core\RowSetRow":private]=> string(32) "level: 10
                  message: na du wurst?
                  "
              ["storage":"ArrayObject":private]=> array(1) {
                ["notificationID"]=> string(9) "460365227"
              }
            }
          }
        }
      }
    }
    ["_attribs"]=>
    array(0) {
    }
  }
}


_________________
„Scientists told them, it was a really bad idea. They didn‘t listen.“ – „That‘s going to be carved on humanity‘s gravestone.“
Nach oben
Antworten mit Zitat
Tyler Durden
Administrator


Beiträge: 23047
Wörter pro Beitrag: 48

Private Nachricht senden E-Mail senden
Skype Name Website dieses Benutzers besuchen

BeitragVerfasst am: 09.04.2014, 01:19                                  +/-

Äh. Da rächt sich das ich wenig Ahnung von PHP habe.

Ich würde aber mal tippen auf "$dasPhealResultatObjektwasduhast->notifications"

Der Sourcecode ist ja auf Github und dort wird mittels __get() der Abruf eines Wertes an PhealElement und dann PhealContainer weitergeleitet.

https://github.com/ppetermann/pheal/blob/master/PhealResult.php


_________________
Actually, throughout my life, my two greatest assets have been mental stability and being, like, really smart.
Nach oben
Antworten mit Zitat
Thanil
Iniesta de Toto


Beiträge: 46148
Wörter pro Beitrag: 42
Wohnort: ...
Private Nachricht senden
Skype Name Website dieses Benutzers besuchen

BeitragVerfasst am: 09.04.2014, 23:33                                  +/-

Alter Schwede, es war wirklich so einfach. Hab wohl gestern ganz schön auf dem Schlauch gestanden.


_________________
„Scientists told them, it was a really bad idea. They didn‘t listen.“ – „That‘s going to be carved on humanity‘s gravestone.“
Nach oben
Antworten mit Zitat
Tyler Durden
Administrator


Beiträge: 23047
Wörter pro Beitrag: 48

Private Nachricht senden E-Mail senden
Skype Name Website dieses Benutzers besuchen

BeitragVerfasst am: 22.08.2014, 14:06                                  +/-

Vom Sexismus-Thread zum Programmieren:

Olmops
Hattest Du das tatsächlich schon gefunden? Überrascht


Ja, das hatte ich gestern gesehen. Das war auf der programming-Frontpage von reddit. Dein Kollege hatte das auch bei Hacker News gepostet, aber da fiel es total flach und generierte null Aufmerksamkeit:

https://news.ycombinator.com/item?id=8201520

If you want something to make the front page best not to post it during US night-time.


Das Internet ist manchmal launisch.


_________________
Actually, throughout my life, my two greatest assets have been mental stability and being, like, really smart.
Nach oben
Antworten mit Zitat
DMolloy



Beiträge: 767
Wörter pro Beitrag: 63

Private Nachricht senden

BeitragVerfasst am: 25.01.2015, 02:30                                  +/-

Margaret Hamilton, lead software engineer der Apollo 11-Mission:

Wikipedia
Hamilton's work prevented an abort of the Apollo 11 moon landing: Three minutes before the Lunar lander reached the Moon's surface, several computer alarms were triggered. The computer was overloaded with incoming data, because the rendezvous radar system (not necessary for landing) updated an involuntary counter in the computer, which stole cycles from the computer. Due to its robust architecture, the computer was able to keep running; the Apollo onboard flight software was developed using an asynchronous executive so that higher priority jobs (important for landing) could interrupt lower priority jobs.

Quelle: WP: Margaret Hamilton


Kürzerer Artikel. Habe nicht vor, den Thread zu genderisieren - nur scheint sie großen Einfluss auf Software Engineering gehabt zu haben, u.A. mit ca. 130 Veröffentlichungen und indem sie den Begriff erfunden hat. Ich verstehe immer weniger, warum Programmieren in unseren Breiten als Männersache gilt (galt?).

Außerdem wirkt sie auf diesem Foto so, als wäre sie aus einem heutigen Hackerspace geradewegs in die 60er zeitgereist:


Nach oben
Antworten mit Zitat
Tyler Durden
Administrator


Beiträge: 23047
Wörter pro Beitrag: 48

Private Nachricht senden E-Mail senden
Skype Name Website dieses Benutzers besuchen

BeitragVerfasst am: 25.01.2015, 11:34                                  +/-

Und das hat sie mit 31 gemacht, während mein Code Mühe hat überhaupt zu funktionieren!

Aber:

DMolloy
und indem sie den Begriff erfunden hat.


Nanu? Einer meiner Profs ritt immer darauf herum, dass der Begriff von einem Deutschen erfunden wurde und erzählte von Konrad Zuse und Co. Quasi: "Ich verstehe immer nie, warum Programmieren in unseren Breiten als Sache der Amerikaner gilt"

Gepostet am 25.01.2015, 11:43:

Das war Friedrich Bauer aus München: "Ein Geburtstag für den sich die NSA nicht interessiert"

http://www.heise.de/newsticker/meldung/Ein-Gebu...m-90-2218104.html

1968 gab es in Garmisch-Partenkirchen eine NATO-Konferenz über die "Softwarekrise". Das Phänomen, dass die Kosten für die Software die Kosten für die Hardware auf der sie läuft übersteigt.

http://de.wikipedia.org/wiki/Softwarekrise

Bauer was a colleague of the German Representative the NATO Science Committee. In 1967, NATO had been discussing 'The Software Crisis' and Bauer had suggested the term 'Software Engineering' as a way to conceive of both the problem and the solution.[1]


_________________
Actually, throughout my life, my two greatest assets have been mental stability and being, like, really smart.
Nach oben
Antworten mit Zitat
Tyler Durden
Administrator


Beiträge: 23047
Wörter pro Beitrag: 48

Private Nachricht senden E-Mail senden
Skype Name Website dieses Benutzers besuchen

BeitragVerfasst am: 25.01.2015, 12:43                                  +/-

Das Problem mit Wikipedia:

http://en.wikipedia.org/wiki/Software_engineering

The term "software engineering", coined by Margaret Hamilton,[10][11] was first used in 1968 as a title for the world's first conference on software engineering, sponsored and facilitated by NATO. The conference was attended by international experts on software who agreed on defining best practices for software grounded in the application of engineering.


Auch hier ist die NATO-Konferenz 1968 die erste Nennung überhaupt. Es wird aber trotzdem Hamilton zugeschrieben?

[10] Ist eine NASA Promotion von 2008 über die tollen Wissenschaftler die im Lauf der Zeit bei NASA arbeiteten
[11] Ist ein Interview von 2015. Sie wird gefragt

Did you coined [sic] the term “software engineering” during this time?
...
When I first started using this phrase, it was considered to be quite amusing. It was an ongoing joke for a long time. They liked to kid me about my radical ideas.


Programmieren hatte immer den Ruf schwarzmagische Hackerei zu sein und der Anspruch an ernsthafte (formalisierte) und planhafte Ingenieurskunst war witzig. Vielleicht klang es aber auch fremd/pompös in den Ohren, weil der Begriff von einem Nicht-Muttersprachler kam?

Dagegen auf einer anderen Wikipedia Seite zetert Dijkstra himself:

http://en.wikipedia.org/wiki/Software_engineer

Dijkstra, Edsger W: "When the term was coined in 1968 by F.L. Bauer of the Technological University of Munich, I welcomed it. [. . .]. As soon the term arrived in the USA, it was relieved of all its technical content. It had to be so for in its original meaning it was totally unacceptable [. . .] In the mean time, software engineering has become an almost empty term, as was nicely demonstrated by Data General who overnight promoted all its programmers to the exalted rank of “software engineer”!"


Gepostet am 25.01.2015, 12:44:

Sorry für die Offtopic-Wortklauberei! Ich bin noch voll im Serialpodcast-Fieber, wo jedes einzelne Wort auf die juristische Waagschale geworfen wird.


_________________
Actually, throughout my life, my two greatest assets have been mental stability and being, like, really smart.
Nach oben
Antworten mit Zitat
DMolloy



Beiträge: 767
Wörter pro Beitrag: 63

Private Nachricht senden

BeitragVerfasst am: 01.02.2015, 13:22                                  +/-

Die Erfindung der Bezeichnung "Software Engineering" scheint also sowohl Bauer als auch Hamilton zumindest zugeschrieben zu sein.. Es gibt aber einige Dinge, deren "Erfinder" nicht wirklich klar ist, weshalb mit diesem Wort wohl eher vorsichtig umzugehen ist. Der Computer und Backpropagation fallen mir spontan ein..

(sorry für die späte Antwort)

Nach oben
Antworten mit Zitat
Tyler Durden
Administrator


Beiträge: 23047
Wörter pro Beitrag: 48

Private Nachricht senden E-Mail senden
Skype Name Website dieses Benutzers besuchen

BeitragVerfasst am: 13.03.2015, 20:39                                  +/-

https://github.com/mackyle/sqlite/blob/3cf493d40...825f/src/os.h#L52

** 2006-10-31: The default prefix used to be "sqlite_". But then
** Mcafee started using SQLite in their anti-virus product and it
** started putting files with the "sqlite" name in the c:/temp folder.
** This annoyed many windows users. Those users would then do a
** Google search for "sqlite", find the telephone numbers of the
** developers and call to wake them up at night and complain.
** For this reason, the default name prefix is changed to be "sqlite"
** spelled backwards. So the temp files are still identified, but
** anybody smart enough to figure out the code is also likely smart
** enough to know that calling the developer will not help get rid
** of the file.
*/

#ifndef SQLITE_TEMP_FILE_PREFIX
# define SQLITE_TEMP_FILE_PREFIX "etilqs_"
#endif


Überrascht rolling on the floor...


_________________
Actually, throughout my life, my two greatest assets have been mental stability and being, like, really smart.
Nach oben
Antworten mit Zitat
Triskel
Dressed-Pugly


Beiträge: 20050
Wörter pro Beitrag: 22

Private Nachricht senden

BeitragVerfasst am: 05.05.2015, 11:05                                  +/-

Wer kennt sich mit SQL-Datentypen aus? Ich stehe gerade auf dem Schlauch.

Wenn ich z. B. den Wert „2345“ habe. Welchen Datentypen nehme ich? Smallint?

Nach oben
Antworten mit Zitat
GuyIncognito



Beiträge: 21148
Wörter pro Beitrag: 34
Wohnort: Terra Incognita
Private Nachricht senden
Website dieses Benutzers besuchen

BeitragVerfasst am: 05.05.2015, 11:10                                  +/-

Smallint geht bis 32767. Wenn der Wert nicht größer werden kann und keine Nachkommastellen nötig sind, dann ja.

Das nächst größere wäre Int mit Werten bis 2.147.483.647.

Mit Smallint sparst du 2 Byte im Vergleich zu Int (4 Byte)


_________________
I dont know, what you are talking about.
Nach oben
Antworten mit Zitat
Triskel
Dressed-Pugly


Beiträge: 20050
Wörter pro Beitrag: 22

Private Nachricht senden

BeitragVerfasst am: 05.05.2015, 11:12                                  +/-

Danke.

Nach oben
Antworten mit Zitat
Tyler Durden
Administrator


Beiträge: 23047
Wörter pro Beitrag: 48

Private Nachricht senden E-Mail senden
Skype Name Website dieses Benutzers besuchen

BeitragVerfasst am: 05.05.2015, 12:30                                  +/-

Apropos Integer Datentypen und ihre Maximalgröße von 2.147.483.647:

Boeing 787 haben einen klassischen Overflow Software-Bug, der dazu führen kann, dass die komplette Elektrik sich verabschiedet:

http://www.engadget.com/2015/05/01/boeing-787-d...ner-software-bug/

248 Tage haben 2.142.720.000 Hundertstel Sekunden. Wurde bisher nur nie bemerkt, weil kein Flugzeug so lange im Dauerbetrieb bleibt. Problembehebung bis zum Fix ist (natürlich!) die Maschine aus und wieder anzuschalten

According to Boeing’s records, all of the 787s currently in service have been turned off and turned on again as part of maintenance.


_________________
Actually, throughout my life, my two greatest assets have been mental stability and being, like, really smart.
Nach oben
Antworten mit Zitat
Arianrhod



Beiträge: 1234
Wörter pro Beitrag: 103

Private Nachricht senden

BeitragVerfasst am: 24.05.2015, 19:12                                  +/-

Bin ich hier richtig?

Mein Liebster möchte ein Installationsdatei (php), die auf seinem Webserver bei Strato liegt, starten und weiß nicht, wie er diese aufrufen kann, weil er nicht weiß, welche Adresszeile er im Browser eingeben muss, um an die Datei zu kommen.

Weiß irgendjemand Rat?

(Ich hoffe, ich habe das Problem richtig geschildert.)

Nach oben
Antworten mit Zitat
Thanil
Iniesta de Toto


Beiträge: 46148
Wörter pro Beitrag: 42
Wohnort: ...
Private Nachricht senden
Skype Name Website dieses Benutzers besuchen

BeitragVerfasst am: 24.05.2015, 19:17                                  +/-

Angenommen die Datei ist dazu gedacht tatsächlich im Browser aufgerufen zu werden und nicht auf irgendeiner andere Art und Weise, dann muss er wissen, in welchem Ordner sie liegt. Der Webserver von Strato wird alle Anfragen an die Webseite auf ein bestimmtes Verzeichnis lenken. Das ist dann unter der Domain erreichbar, bspw. http://forum.tylers-kneipe.de/

Liegt die Datei nun im „Hauptverzeichnis“, dann wäre sie unter http://forum.tylers-kneipe.de/datei.php abzurufen. Liegt sie in einem Unterverzeichnis, dann unter http://forum.tylers-kneipe.de/unterverzeichnis/datei.php

Hilft das?


_________________
„Scientists told them, it was a really bad idea. They didn‘t listen.“ – „That‘s going to be carved on humanity‘s gravestone.“
Nach oben
Antworten mit Zitat
Arianrhod



Beiträge: 1234
Wörter pro Beitrag: 103

Private Nachricht senden

BeitragVerfasst am: 24.05.2015, 20:28                                  +/-

Sehr sogar! Vielen, vielen Dank! Smilie

Nach oben
Antworten mit Zitat
Tyler Durden
Administrator


Beiträge: 23047
Wörter pro Beitrag: 48

Private Nachricht senden E-Mail senden
Skype Name Website dieses Benutzers besuchen

BeitragVerfasst am: 20.06.2015, 17:13                                  +/-

Vor ein paar Tagen wurde dieses Bild auf Twitter geleakt mit der Behauptung es sei computergeneriert:


"Kill me!"

Das Machine Learning Subreddit hat sich dann darüber gestritten, ob das wirklich stimmt. Die skeptischen Stimmen überwogen. Zum Beispiel:

Examples of images generated by NNs:
https://i.imgur.com/TJe2JIb.jpg

After staring at the image for awhile, I would be very surprised if this was really generated by a neural network. It really looks like the work of a human artist.


Aber Überraschung: Es kommt tatsächlich von Google, die mit Neuralen Netzen (NN) herumgespielt hatten!

Hier das erklärende Blogpost der Computer-Forscher:
http://googleresearch.blogspot.de/2015/06/incep...-into-neural.html

Wenn ich das richtig verstanden habe: Sie haben zum Beispiel ein NN darauf konditioniert Tiere zu erkennen (mittels Millionen von Tierfotos). Am Schluss kann das NN dann sagen: Hier ist ein Hund abgebildet. Oder eine Katze. Oder ein Vogel. Oder ein Fisch.
Problem: Man weiß nicht wie das NN intern funktioniert, weil es zu mühselig wäre die Kalkulationen Pixel pro Pixel nachzuvollziehen.
Idee: Wir gehen den Weg rückwärts und lassen das NN ein Inputbild (z.B. weißes Rauschen mit zufälligen Pixeln) so verändern, dass das NN immer stärker auf die gewünschte Interpretation anspringt.

Hier zum Beispiel ist das platonische Ideal eines Neuralen Netzes was "Hanteln" sind:



it seems no picture of a dumbbell is complete without a muscular weightlifter there to lift them. In this case, the network failed to completely distill the essence of a dumbbell. Maybe it’s never been shown a dumbbell without an arm holding it. Visualization can help us correct these kinds of training mishaps.


Wenn auf fast jedem Hantel-Bild ein starker Arm mit vorkommt, glaubt das NN ein Bizeps gehört einfach dazu.

Da NN in verschiedenen Schichten aufgebaut sind, kann man Bilder dann auch je nach Schicht analysieren. Hier sieht man wie ein unterer Layer Kanten und Formen erkennt. Klickt mal auf das Bild und schaut euch die Details an, das sieht ziemlich cool aus:



Darauf aufbauend erkennen die höheren Layer Muster. Wenn man das Inputbild durch die höheren Layer verstärken lässt und in einer Feedbackschleife zurück einspeist, dann sieht das NN in den vielseitig interpretierbaren Formen von Wolken auch Vögel, Katzen und Fische. So wie wenn man selbst auf einer Wiese liegt und verträumt in den Himmel schaut.

Und hier ist ein Hundefoto, dessen Schnuffnasen-Tiermerkmale zu noch größerem Animalismus verstärkte wurde: als hätte man LSD in die Computer gekippt!



The results are intriguing—even a relatively simple neural network can be used to over-interpret an image, just like as children we enjoyed watching clouds and interpreting the random shapes. This network was trained mostly on images of animals, so naturally it tends to interpret shapes as animals. But because the data is stored at such a high abstraction, the results are an interesting remix of these learned features.




Neural net “dreams”— generated purely from random noise, using a network trained on places by MIT Computer Science and AI Laboratory. See our Inceptionism gallery for hi-res versions of the images above and more (Images marked “Places205-GoogLeNet” were made using this network).

The techniques presented here help us understand and visualize how neural networks are able to carry out difficult classification tasks, improve network architecture, and check what the network has learned during training. It also makes us wonder whether neural networks could become a tool for artists—a new way to remix visual concepts—or perhaps even shed a little light on the roots of the creative process in general.


Ich habe dann im ML-Sub gefragt, "wie" genau diese Bilder erzeugt wurden. Also ok, das grobe Konzept ist klar, aber wie lässt man ein Bild von einem NN "verstärken" mit den Mustern die das Netz erkennt?

Als Antworten bekam ich:

I didn't get to read those papers, but sounds like
f(X) := softmax output corresponding to "banana" class on a discriminative neural network classifier
X <- X + (learning rate)*(gradient of f(X) wrt X )
i.e. maximize that f(X) wrt X

[...snip...]
So they trained some sort of model to recognize statistics of natural images, or did they apply some sort of proximity + other a priori selection?

I think the prior was local, not global. Probably they penalise an image which does not contain low level features that natural images do. So fprop the image into a cnn and reward the norm of the activations. Larger norm means it activates more natural image feature detectors


Someone who created similar images (he deleted his post) suggested that the objective function is to maximize the L1 norm of the outputs of a (randomly) chosen layer. It's also necessary to sample the image at many different scales to get all this nightmare inducing stuff.


Klar! So einfach! Den Softmax auf die L1 norm maximieren und dann das Bild fpropen in das cnn ... äh, Hilfe DMolloy!


_________________
Actually, throughout my life, my two greatest assets have been mental stability and being, like, really smart.
Nach oben
Antworten mit Zitat
Helcaraxe



Beiträge: 15994
Wörter pro Beitrag: 42

Private Nachricht senden

BeitragVerfasst am: 21.06.2015, 10:25                                  +/-

Obwohl ich irgendwann eine Vorlesung über Fuzzy Logic gehört habe, kann ich mit dem Satz genausowenig anfangen.

Mein Favorit unter den Hundeschnecken-/Blob-/Zerfließendezeit-Monstern: "Der Hexer mit Hundekopftrophäe und Hundehandpuppe unterhält einige Kinder am Straßenrand"

Mehr gibt's hier


_________________
I'm not tired of everyone and that includes myself
Nach oben
Antworten mit Zitat
GuyIncognito



Beiträge: 21148
Wörter pro Beitrag: 34
Wohnort: Terra Incognita
Private Nachricht senden
Website dieses Benutzers besuchen

BeitragVerfasst am: 21.06.2015, 10:43                                  +/-

Das NN muß ja irgendwo eine Art Schwellwert haben, ab wann es etwas als WAHR oder als ERKANNT klassifiziert. Wenn man diesen Wert nun sehr niedrig ansetzt, erkennt das NN in sehr vielen Dingen sein gelerntes, nicht nur dort, wo wirklich was vorhanden ist. Ist der Wert extrem niedrig, erkennt es auch in weissem Rauschen eine Banane oder eine Hantel.

Ich sehe darin ein riesen Problem... Angenommen, wir haben irgendwann solche NNs hinter Kameras hängen, die öffentliche Plätze oder Bahnhöfe auf Verbrecher oder Terroristen überwachen... Wie die Bilder zeigen, erkennt das NN nur was es gelernt hat und wenn der Schwellwert niedrig genug ist, wird es das auch quasi überall erkennen!
So stelle ich mir einen Computer vor der durchdreht. Skynet. Sein Schwellwert etwas zu erkennen ist so niedrig, dass quasi überall der gelernt Feind lauert.
Wahrscheinlich funktioniert das auch beim Menschen nicht viel anders.


_________________
I dont know, what you are talking about.
Nach oben
Antworten mit Zitat
DMolloy



Beiträge: 767
Wörter pro Beitrag: 63

Private Nachricht senden

BeitragVerfasst am: 21.06.2015, 17:34                                  +/-

Ich wollte gerade was im Robot-Overlords-Thread dazu schreiben und sehe, dass sich Tyler schon die Mühe gemacht hat. Danke, Tyler ;) Ich muss nur vorweggreifend sagen, dass bisher nicht klar ist, was Google im Detail gemacht hat. Deshalb auch die wagen Vermutungen auf Reddit.

Das grobe Verständnis - eine Verstärkung der identifizierten Objekte (eigentlich false positives) in den Schichten eines auf bestimmte Objekte (z.B. Tiere) trainierten Netzwerkes durch Gradientenaufstieg - sollte aber korrekt sein. Das ist auch das, was die kleine Formel auf Reddit auszudrücken versucht. Sie erwähnen aber noch, dass es erst interessant wird wenn man statistische Eigenschaften natürlicher Bilder erzwingt – konkret nennen sie nur Korrelationen zwischen benachbarten Pixeln; da gibt es aber deutlich mehr. Aus Rauschbildern kann man recht natürlich aussehende Wolken / Rauchschwaden erzeugen, wenn man solche Statistiken einbringt. Das könnte durchaus der Grund sein, dass die Google-Bilder so organisch aussehen. Ich kenne sonst die von Google Research erwähnten Paper zum Teil, weil ich damit vor kurzem versucht habe, die Sensitivität eines Netzwerkes zu visualisieren – aber eher erfolglos, ist doch ganz schön rechenintensiv, und für LSD-Robot Dreams ist noch weit mehr nötig.

Diese Visualisierungen sind in der Tat superinteressant, auch aus Neuroperspektive. Dass sie das am Ende mit kreativen Prozessen vergleichen ist nicht sehr weit hergeholt, so unter anderen Neuro-Interpretationen der aktuell intensiv studierten Deep Neural Networks. Die diesen Bildern zugrunde liegenden Convolutional Neural Networks (hier speziell GoogLeNet) sind zumindest in ihren absoluten Grundlagen an Wissen über das visuelle System orientiert. Die Kantenvariante von den Antilopen wurde z.B. auf der gewöhnlich ersten Schicht berechnet, die mit Gabor-Strukturen operiert. Wir wissen mit großer Sicherheit, dass die unterste Schicht im visuellen System - V1 / der striate cortex - ebenfalls mit solchen Kantendetektoren arbeitet (vielleicht mit den gleichen, die diese Netze finden). Deren Aussehen kann man noch problemlos und ohne dabei zu interpretieren visualisieren:


(Gabor- und andere Filter auf ImageNet für das [Krizhevsky et al. 2012]-Netzwerk)

Grob gesagt entspricht ein Merkmal einem Neuron im Netzwerk und reagiert mit Input, wenn ein Ausschnitt im aktuellen Bild so ähnlich aussieht. So funktionieren auch die höheren Layer, nur ist deren "Bild" nicht mehr das eigentliche Bild, sondern der Input der vorhergehenden Schichten. Man erreicht so graduell höhere Level von Abstraktion bis hin zu z.B. spezifischen Hunderassen, die ein Mensch der kein Hundezüchter ist auch nicht mehr unterscheiden könnte.

Gewöhnlich wird ein Teil der Schichten in den derzeit beliebtesten Netzwerken unsupervised gelernt. Das heißt, dass man dem Netzwerk nicht gleich sagt, was es in einem Input erkennen soll, sondern es automatisch (mit der richtigen Zielfunktion / objective function) zunächst selbst nach Strukturen suchen lässt. Was dabei herauskommt sind für Bilderkennung sehr gut funktionierende Merkmale, auf die man per Hand mühselig bis überhaupt nicht kommen würde. Nochmal: Eine der coolen Eigenschaften dieser Netzwerke ist, dass sie sich selbst raussuchen, was im Bild für ihre Objekterkennung wichtig ist.

Wie auch im Google Research-Artikel angemerkt weiß man nur bedingt, warum die Netzwerke überhaupt zu derartig guten Ergebnissen bei der Objekterkennung kommen. Zunächst ist es für mehr Verständnis u.A. notwendig, einzelne Schichten visuell zu verstehen – also sich anzusehen, welche Merkmale die Netze sich herausgesucht haben. Man weiß aber nicht genau, wie man höhere Schichten visuell darstellen soll. Die Visualisierung derer ist derzeit eines der hot topics - einige Zeit war [Zeiler 2013] die beeindruckendste Arbeit dazu; aber im Moment gibt es einige neue Veröffentlichungen auf dessen Basis (vermutlich nachdem man verstanden hatte, dass Zeiler im Grunde auch "nur" mit dem Gradienten arbeitet).

Was der Reddit-User in Bezug auf die Visualisierung mit der L1-Norm sagen will weiß ich nicht. Er hat seinen Beitrag ja auch gelöscht. Die L1-Norm verwendet man für Regularisierung - sie führt zu einer Verringerung der weights im Netzwerk und sparsity, d.h. man erzwingt, dass nur wenige der weights für eine bestimmte Eingabe aktiv werden. Das hat verschiedene Vorteile, z.B. die Vermeidung von Overfitting (Überanpassung) des Netzwerks an die Trainingsdaten.

Die Pagode unten rechts ist schon mein neues Android-Wallpaper :)

Nach oben
Antworten mit Zitat
DMolloy



Beiträge: 767
Wörter pro Beitrag: 63

Private Nachricht senden

BeitragVerfasst am: 03.07.2015, 23:46                                  +/-

Das Google-Team hat den Code nun gerade in einem iPython Notebook veröffentlicht:

deepdream

Das perfekte Format, um damit herumzuspielen. Hatte aber noch keine Gelegenheit zum Reinschauen. Man braucht u.A. eine aktuelle Caffe-Installation - das letzte Mal, als ich das installiert habe war das schon etwas aufwendiger. (für Python reicht ja das Modulframework Anaconda)

Nach oben
Antworten mit Zitat
GuyIncognito



Beiträge: 21148
Wörter pro Beitrag: 34
Wohnort: Terra Incognita
Private Nachricht senden
Website dieses Benutzers besuchen

BeitragVerfasst am: 04.07.2015, 07:12                                  +/-

Hier ist der Link zum Framework. http://caffe.berkeleyvision.org/

Liveview eines DL Netzwerks, das unendlich zoomt. Schon recht cool.
http://www.twitch.tv/317070


_________________
I dont know, what you are talking about.
Nach oben
Antworten mit Zitat
Beiträge der letzten Zeit anzeigen:   
Neues Thema eröffnen   Neue Antwort erstellen    Tylers Kneipe Foren-Übersicht -> Special: Off-Topic Alle Zeiten sind GMT + 1 Stunde
Zurück  1, 2, 3 ... , 20, 21, 22, 23  Weiter Alle
Seite 22 von 23

 
Gehe zu:  
Du kannst keine Beiträge in dieses Forum schreiben.
Du kannst auf Beiträge in diesem Forum nicht antworten.
Du kannst deine Beiträge in diesem Forum nicht bearbeiten.
Du kannst deine Beiträge in diesem Forum nicht löschen.
Du kannst an Umfragen in diesem Forum nicht mitmachen.


Impressum. Powered by phpBB © 2001, 2006 phpBB Group. Deutsche Übersetzung von phpBB.de