メモ帳

python, juliaで機械学習をやっていく

ハイパーパラメータ自動最適化ツール「Optuna」を更に便利に使えるラッパー関数をつくった

Preferred Network(PFN)が作ったハイパーパラメータ自動最適化ツール「Optuna」を超絶簡単に使うためのラーパー関数をつくりました。モデル名、モデルオブジェクト、引数名と型、範囲の5つをペタペタ書くだけでよしなに最適化してくれるようになりました。一度に複数のモデルに対してチューニングを行えます。

続きを読む

Metric Learning: L2 softmax Lossとsoftmax Lossをkerasで実装し、mnistを使って比較してみた

metric learningで有用なL2 Softmax Lossについて調べた。 mnist datasetをNeural Networkで特徴空間に写し、Siamese network (距離関数で手書き文字の類似度を判定させるモデル) を構築した。 L2 Softmax Lossを用いたNeural Networkと、Softmax Lossを用いたものの性能を比較した。なお、通常の分類タスクでよく用いられるSoftmax Lossもmetric learningで使われるようである。

続きを読む

F関数を使ってDjangoで効率よくquerysetのカウントアップを行う

検索ヒット回数や、QAのフィードバックのためにDB内の値をカウントアップしたいとき、単純にDjangoのquerysetを使うと、1. 値の取得 2. 値の更新の合計2回DBにアクセスしなければいけません。しかし、F関数を使えば1回のアクセスで更新できます。

続きを読む

(Part. 2) tensorflow 2.0 betaでtransformerをつかって言語生成chatbotをつくりたい

以下の記事のPart. 2です。 Part. 1ではtransformerの説明とモデルの実装をしました。 この記事ではlossやmetricsを定義し実際に学習を行います。 また、日本語データを用いるために分かち書きも実装しています。

tksmml.hatenablog.com

続きを読む

macの仮想環境化でmatplotlibを簡単に日本語対応させる

以下のように、matplotlibが日本語に対応していないのは有名な問題です。(大量の豆腐が表示されてしまっています。) その、対応として、グローバルにフォントを指定する必要があります。しかし、仮想環境を使っている場合は、それぞれにフォントの設定をしなければいけません。あまりにも手間なので、コード内でフォントを指定する方法を紹介したいと思います。 f:id:atelier-0213:20190626224926p:plain

続きを読む

(Part. 1) tensorflow 2.0 betaでtransformerをつかって言語生成chatbotをつくりたい

tensorflow2.0のベータ版が公開されたので、慣れるためにtransformerを学習させて、言語生成を試して見たいと思います。 collaboratoryを使ってGPUで学習させます。

コードはこちらチュートリアルを参考にしました。

続きを読む

機械学習を仕事で使えるようになるまでに読んだ本

現在、業務で機械学習モデルの構築やデータ分析を行っています。 その中で自分も機械学習をやってみたいけど何をどこまですればいいのかわからないという声を耳にすることが多いです。 なので、機械学習を仕事で使えるようになるまでに読んだ書籍を紹介します。

続きを読む