machine_learning
前回は Attention 付きの EncoderDecoder モデルを紹介した。 今回は、モデルではなく、予測時のアルゴリズムを変えて精度向上を目指してみる。 前回までの翻訳アルゴリズム モデルがすでに得られているとする。 前回までは、このモデルを使って、翻訳元の文…
前回からの続き。 Chainer を用いて、Attention つきの EncoderDecoder を実装する。 モデルの実装 まずはモデルのコンストラクタ。 前回と同じく、LSTM の実装には NStepLSTM を使った。 class EncoderDecoder(Chain): def __init__(self, input_dimension:…
前回 は基本となる EncoderDecoder を紹介した。 この記事では、Attentionと呼ばれるテクニックを紹介する。 Attention EncoderDecoder では、Encoder から Decoder に渡されるのは、ひとつの固定長ベクトルだけだった。 入力系列がどんなに長かったとしても…
『Chainer による実践深層学習』の8章を読みながら色々試してみた。 EncoderDecoder EncoderDecoder は、機械翻訳などの、系列が入力され系列が出力されるような問題を扱うモデル。 seq2seq とも呼ばれるらしい。 以下のような好ましい性質を備えている: …
最近、会社のグループウェアの通知がやたらと多い。 人によっては全ての通知を見ているらしいんだけど、自分の場合は自分宛て通知はみるけど、それ以外の通知は一部しか読んでない。 どうせ一部しか読まないのであれば、できるだけ価値のある通知を読みたい…
word2vec のモデルの説明で、以下の尤度関数の最大化を行いたいが、分母にある正規化項の計算が重すぎてこのままでは計算できないという話があった。 word2vec では、この尤度関数を直接最大化するのではなく、正例とノイズとを区別する2クラス分類問題の新…
昨日の記事の続き。 Word2Vec を Chainer で実装していく。 完全なコードは以下の URL にある。 workspace/learning-chainer/word2vec at master · nojima/workspace · GitHub model 誤差関数をネットワークとして表現すると下図のようになる。 普通のニュー…
Chainer 本 を読みながら Word2Vec を Chainer で実装してみたので、その過程でわかったことをメモしておく。 注意: 素人なので完全に間違っているかもしれない。 Word2Vec Word2Vec の目的は、各単語の 分散表現 を求めること。 単語の分散表現とは、単語の…