メモ帳

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

機械学習

ReformerをTrax (tensor2tensorの後継)で使ってみた

本記事の目的 Reformerの著者実装 (Trax) を使ってみる!!! Traxで学習・推論するための一連の流れをまとめる Reformerとは Transformerの大幅な計算効率の向上・省メモリ化に成功 したモデルです。計算リソースは大きなボトルネックになるので価値が高い…

(Part 2) tensorflow 2 でhugging faceのtransformers公式のBERT日本語学習済みモデルを文書分類モデルにfine-tuningする

hugging faceのtransformersというライブラリを使用してBERTのfine-tuningを試しました。日本語サポートの拡充についてざっくりまとめて、前回いまいちだった日本語文書分類モデルを今回追加された学習済みモデル (bert-base-japanese, bert-base-japanese-c…

(Part 1) tensorflow2でhuggingfaceのtransformersを使ってBERTを文書分類モデルに転移学習する

現在、NLPの分野でも転移学習やfine-tuningで高い精度がでる時代になっています。 おそらく最も名高いであろうBERTをはじめとして、競ってモデルが開発されています。 BERTは公式のtensorflow実装は公開されてありますが、画像分野の転移学習モデルに比べる…

不均衡データへの対処法: ダウンサンプリング

不均衡データに対する対処法であるダウンサンプリングについて調べました。

kerasで学習済みword2vecをembedding layerに組み込む方法

kerasで学習済みword2vecをモデルに組み込む方法を紹介します。word2vecなどで学習した分散表現(token id毎のベクトル値)をkerasのembedding layerの重みに設定し、新たに学習させないように指定するという流れです。こうすることで、word2vecによる特徴量…

ハイパーパラメータ自動最適化ツール「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を用い…

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

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

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

tensorflow2.0のベータ版が公開されたので、慣れるためにtransformerを学習させて、言語生成を試して見たいと思います。 collaboratoryを使ってGPUで学習させます。 コードはこちら のチュートリアルを参考にしました。