[PYTHON] Lassen Sie uns word2vec mit Chainer verschieben und den Lernfortschritt sehen

Schauen wir uns diesmal den Lernprozess von word2vec mit Chainer an, einem Framework, das maschinelles Lernen und tiefes Lernen fördern kann.

Wenn Sie in word2vec in den Standardbeispielen die Epoche (untersuchte Testmenge) zehnmal erreichen, hören Sie zunächst auf, selbst zu lernen und aus den Daten zu suchen, und erhalten Sie 5 Wörter in der Nähe als Vektormenge. Es wird kommen.

Bei dieser Geschwindigkeit kann ich den Fortschritt von word2vec überhaupt nicht sehen, deshalb werde ich es als Amateur, der zu diesem Zweck Python studiert hat, ein wenig umschreiben.

  1. Klassifizieren Sie mit search.py-> my_search.py
  2. Umbenannt in train_word2vec.py-> my_train_word2vec.py
  3. Schreiben Sie den Import von my_search als S am Anfang von my_train_word2vec.py neu
  4. Machen Sie den Speichermechanismus zu einer Methode
def save_to_model(model, index2word, word2index): 
  model.to_cpu() 
  with open(‘model.pickle’, ‘wb’) as f: 
  obj = (model, index2word, word2index) 
  pickle.dump(obj, f) 
  return
  1. In der Schleife der Epoche

save_to_model (model, index2word, word2index) print (S.MySearch.search („Silicon Valley“)) #Called by class method

Auch dieses Mal habe ich als Korpus 15 Artikel aus Shinfu Silicon Valley (Nikkei Sangyo Shimbun) für Experimente ausgeliehen. Ich gebe auf.

Zunächst die experimentellen Ergebnisse

1. 10 Umdrehungen:

Das nächste Wort im Silicon Valley war "D". Die Ursache ist unbekannt, aber D war von Anfang bis Ende die Spitze. Die Vektorgrößen liegen alle zwischen 0,4 und 0,2 (ich denke, das liegt daran, dass k 0,333 ist). Es ist unvermeidlich, dass es wenig Bewegung gibt, da der Lernaufwand gering und der Korpus gering ist. .. In Epoche 9 wird es zu "D", "Härte", "IT", "Laufen", "Tun" und __Silikontalgefühl __ riecht ein wenig.

==========
epoch: 0
accumulates loss: 1112031.500000
query:Silicon Valley
D: 0.385320752859
Komm runter: 0.316111475229
Not: 0.311353355646
IT: 0.308985322714
vielleicht: 0.293527036905
None

==========
epoch: 1
accumulates loss: 982020.395020
query:Silicon Valley
D: 0.380901038647
Komm runter: 0.319994270802
IT: 0.315405249596
Not: 0.310255050659
vielleicht: 0.294104635715
None

==========
epoch: 2
accumulates loss: 902829.900146
query:Silicon Valley
D: 0.376115381718
Komm runter: 0.320046186447
IT: 0.31905066967
Not: 0.311782300472
vielleicht: 0.296858221292
None

==========
epoch: 3
accumulates loss: 820047.656860
query:Silicon Valley
D: 0.371634662151
IT: 0.320495575666
Komm runter: 0.318237453699
Not: 0.313952356577
vielleicht: 0.302201360464
None

==========
epoch: 4
accumulates loss: 681908.571655
query:Silicon Valley
D: 0.368631154299
IT: 0.320828229189
Komm runter: 0.316797375679
Not: 0.316728383303
vielleicht: 0.306283533573
None

==========
epoch: 5
accumulates loss: 641440.961914
query:Silicon Valley
D: 0.365578979254
IT: 0.320439100266
Not: 0.3194886446
Komm runter: 0.315234780312
Lauf: 0.309817075729
None

==========
epoch: 6
accumulates loss: 586475.438599
query:Silicon Valley
D: 0.363178402185
Not: 0.321959197521
IT: 0.319732785225
Lauf: 0.315447598696
Komm runter: 0.313367664814
None

==========
epoch: 7
accumulates loss: 556348.893921
query:Silicon Valley
D: 0.361127972603
Not: 0.324909359217
IT: 0.319623440504
Lauf: 0.31960016489
Machen: 0.318533718586
None

==========
epoch: 8
100000 words, 77.92 sec, 1283.30 words/sec
accumulates loss: 517327.874512
query:Silicon Valley
D: 0.359653770924
Not: 0.327609688044
Machen: 0.326554596424
Lauf: 0.321017146111
IT: 0.318472921848
None

==========
epoch: 9
accumulates loss: 551470.435913
query:Silicon Valley
D: 0.358295291662
Machen: 0.334549129009
Not: 0.328947871923
Lauf: 0.324358165264
IT: 0.31878477335
None

2. und 3. Mal:

Das zweite Mal ist schließlich "dünner Gewinn und hohe Verkäufe", "Site", "Denken", "su", "verschiedene", das dritte Mal schreibe ich keine Daten, sondern "Beschränkung", "i", "DECODIERT", "re" Infolge von "," Diskriminierung ". Das zweite Mal versuche ich dir etwas zu sagen, aber ...

==========
epoch: 0
accumulates loss: 1155921.383301
query:Silicon Valley
Seite? ˅: 0.34277588129
Geringer Gewinn und hoher Umsatz: 0.338559865952
Werkzeug: 0.291590571404
verschiedene: 0.288147270679
Denken: 0.280256956816
None

==========
epoch: 1
accumulates loss: 921329.687744
query:Silicon Valley
Geringer Gewinn und hoher Umsatz: 0.344960749149
Seite? ˅: 0.34360229969
verschiedene: 0.292381823063
Werkzeug: 0.289981007576
Denken: 0.287175774574
None

==========
epoch: 2
accumulates loss: 891724.701904
query:Silicon Valley
Geringer Gewinn und hoher Umsatz: 0.349293321371
Seite? ˅: 0.343631505966
verschiedene: 0.295914918184
Denken: 0.291843622923
Werkzeug: 0.288331329823
None

==========
epoch: 3
accumulates loss: 757185.654785
query:Silicon Valley
Geringer Gewinn und hoher Umsatz: 0.352725356817
Seite? ˅: 0.344897687435
verschiedene: 0.297841370106
Denken: 0.295309871435
Werkzeug: 0.286360681057
None

==========
epoch: 4
accumulates loss: 678935.693481
query:Silicon Valley
Geringer Gewinn und hoher Umsatz: 0.355262964964
Seite? ˅: 0.347212970257
Denken: 0.299321830273
verschiedene: 0.298689037561
Su: 0.285281300545
None

==========
epoch: 5
accumulates loss: 610247.023926
query:Silicon Valley
Geringer Gewinn und hoher Umsatz: 0.35762360692
Seite? ˅: 0.348474025726
Denken: 0.300522983074
verschiedene: 0.300092220306
Su: 0.289157003164
None

==========
epoch: 6
accumulates loss: 600056.776855
query:Silicon Valley
Geringer Gewinn und hoher Umsatz: 0.360702127218
Seite? ˅: 0.350107192993
Denken: 0.303010463715
verschiedene: 0.300860673189
Su: 0.292713105679
None

==========
epoch: 7
accumulates loss: 589747.635376
query:Silicon Valley
Geringer Gewinn und hoher Umsatz: 0.364328920841
Seite? ˅: 0.351830333471
Denken: 0.304481714964
verschiedene: 0.299699604511
Su: 0.295893192291
None

==========
epoch: 8
100000 words, 77.42 sec, 1291.68 words/sec
accumulates loss: 523010.348755
query:Silicon Valley
Geringer Gewinn und hoher Umsatz: 0.367006063461
Seite? ˅: 0.353862285614
Denken: 0.305754393339
Su: 0.299977868795
verschiedene: 0.298767507076
None

==========
epoch: 9
accumulates loss: 508688.538574
query:Silicon Valley
Geringer Gewinn und hoher Umsatz: 0.370497822762
Seite? ˅: 0.355607360601
Denken: 0.306706368923
Su: 0.303147226572
verschiedene: 0.297139495611
None

Schlussfolgerung und Überlegung

Dieses Mal habe ich versucht, die gleichen Daten dreimal zu drehen, aber zweimal

1. Das erste Wort, das Sie lernen und für nah halten, ist das Wort, das von Anfang bis Ende nah ist

Die Daten aus epoch0 blieben von Anfang bis Ende gleich. Apropos Menschen, was Sie einmal gelernt haben, wird Ihnen sicherlich ein Stereotyp geben. Ist es also das gleiche Gefühl?

2. Erreichen Sie dreimal völlig andere Schlussfolgerungen

Obwohl alle trainierten Inhalte dieselben Daten waren, waren die Daten, die schließlich als enge Wörter ausgegeben wurden, völlig unterschiedlich. Wenn wir von Menschen sprechen, haben sie unterschiedliche Denkweisen, auch wenn sie dasselbe lernen (erwerben).

In der Mitte des Prozesses stellte ich fest, dass der verlorene Wert immer noch zu groß ist und dass in word2vec nahe Wörter wahrscheinlich zwischen 0,2 und 0,4 liegen.

Es ist wie tiefes Lernen, dass jedes Mal unterschiedliche Ergebnisse erzielt werden. Es ist dasselbe wie menschliches Lernen und es gibt keine Antwort. Ich möchte, dass Sie mehr mit Maschinen lernen und klüger werden.

Recommended Posts

Lassen Sie uns word2vec mit Chainer verschieben und den Lernfortschritt sehen
"Learning word2vec" und "Visualisierung mit Tensorboard" auf Colaboratory
Lassen Sie uns die Matrix transponieren und die Matrizen mit numpy multiplizieren.
Versuchen wir nun die Gesichtserkennung mit Chainer (Lernphase)
Sehen Sie, wie schnell Sie mit NumPy / SciPy beschleunigen können
Erkennen Sie Ihren Chef mit Deep Learning und verbergen Sie den Bildschirm
Wie ist der Fortschritt? Lassen Sie uns mit dem Boom in Python weitermachen
Lassen Sie uns Cython und Numba leicht bewegen
HTTPS mit Django und Let's Encrypt
[Chainer] Lernen von XOR mit mehrschichtigem Perzeptron
Entdecken Sie das Labyrinth mit erweitertem Lernen
Versuchen Sie Common Representation Learning mit Chainer
Validieren Sie das Trainingsmodell mit Pylearn2
[Einführung in das maschinelle Lernen] Bis Sie den Beispielcode mit Chainer ausführen
Ich habe den Akkord des Songs mit word2vec vektorisiert und mit t-SNE visualisiert
Ich habe versucht, den Winkel von Sin und Cos mit Chainer zu lernen
Erstellen Sie DNN-CRF mit Chainer und erkennen Sie den Akkordfortschritt der Musik
Feature Engineering für maschinelles Lernen Beginnend mit dem 4. Google Colaboratory - Interacting Features
Lernen Sie mit "Google Colaboratory" ganz einfach 100 Sprachverarbeitungsklopfen 2020.
Ein Memo bei der Ausführung des Beispielcodes von Deep Learning, der mit Google Colaboratory von Grund auf neu erstellt wurde
Lassen Sie uns word2vec mit Chainer verschieben und den Lernfortschritt sehen
Durchketten von Kuchen mit Chainer durchschauen
Lassen Sie uns die Hyperparameter des Modells mit scikit-learn abstimmen!
Lösen wir das Portfolio mit kontinuierlicher Optimierung
Versuchen Sie es mit Chainer Deep Q Learning - Launch
Versuchen wir es mit gRPC mit Go und Docker
Lesen wir die RINEX-Datei mit Python ①
Lassen Sie uns mit Python Receive spielen und den Text des Eingabeformulars speichern / anzeigen
Deep Learning von Grund auf neu Die Theorie und Implementierung des mit Python erlernten Deep Learning Kapitel 3
Lassen Sie uns die Beziehung zwischen Durchschnittsgehalt und Industrie mit XBRL-Daten und Seaborn visualisieren! (7/10)
Python-Lernnotiz für maschinelles Lernen von Chainer Kapitel 11 und 12 Einführung in Pandas Matplotlib