タグ

LSTMに関するyukimori_726のブックマーク (20)

  • データの傾向が変わっても性能が落ちにくいモデルの作り方 - Qiita

    下記論文のサーベイ記事です. タイトル: Generative and Discriminative Text Classification with Recurrent Neural Networks Deep Mindの論文 6 Mar 2017 著者: Dani Yogatama, Chris Dyer, Wang Ling, Phil Blunsom 主旨 テキスト分類でデータの傾向が変わっても生成モデルは識別モデルより性能が落ちにくいことを実証. 要約 日常だとデータの傾向は流行によってデータの出現頻度とか変わるし,新たな概念とかもすぐできる. 傾向が変わるたびにデータセットを全て学習しなおすのは時間がかかるので,できれば新たなデータのみで学習させたい.(Continual learning) あと,未知のクラスであっても予測できるようにしたい.(Zero-shot leanin

    データの傾向が変わっても性能が落ちにくいモデルの作り方 - Qiita
  • 可変長ミニバッチを使ったChainerの系列学習の実装 - Qiita

    はじめに Chainer 1.16.0 のリリースでNStepLSTMが実装されました。 NStepLSTMはその名のとおりLSTMの多層化が容易に実現できるモデルとなっています。 内部的にはcuDNNで最適化されたRNNが使われており、従来のLSTMに比べて高速に動作します。 さらにNStepLSTMではミニバッチのデータの長さをそろえる必要がなくなり、各サンプルをリストに入れたものをそのまま入力できるようになりました。 これまでのように-1でpaddingしてignore_label=-1とwhereを駆使したり、データの長さ順にソートしたリストを転置して入力したりという手順が不要になりました。 そこで今回はこのNStepLSTMを使って系列ラベリングの学習をしてみました。 従来のLSTMとのインタフェースの違い NStepLSTMはこれまでのLSTMと入出力が異なるので、今まで実装し

    可変長ミニバッチを使ったChainerの系列学習の実装 - Qiita
  • Chainer の Trainer 解説と NStepLSTM について

    レトリバセミナー 2017/03/15 Movie: https://www.youtube.com/watch?v=ok_bvPKAEaMRead less

    Chainer の Trainer 解説と NStepLSTM について
  • LSTMを超える期待の新星、QRNN - Qiita

    RNN「これってもしかして」 CNN「わたしたちのモデルが・・・」 「「入れ替わってる~~~!?」」 というわけでQRNN、QUASI-RECURRENT NEURAL NETWORKSとは、RNNの機構をCNNで「疑似的(QUASI)に」実装するというモデルです。これにより、既存のRNN(というかLSTM)が抱えていたいくつかの問題の解決を試みています。 元論文は以下となります。 QUASI-RECURRENT NEURAL NETWORKS 作者によるブログ 作者の方のブログにChainerのサンプルコードがあったので、それを元にTensorFlowで実装してみました。早く動かしたい!という方はこちらを見てみてください。 icoxfog417/tensorflow_qrnn (Starを頂ければ励みになります m(_ _)m) 記事では、この研究のモチベーションとそのアプローチについ

    LSTMを超える期待の新星、QRNN - Qiita
  • 自然言語系のデータでLSTM理解しようとすると難しいので、MNISTデータでLSTMの基礎を解説 - Qiita

    師走に調子乗ってTensorflow Advent calendar 2016登録して完全にヒーヒー言いながら今回の内容を書きました。 おそらく後から読みやすいように追記や更新もすると思います。8日目です。どうも。 この記事はTensorflowのチュートリアルを読んでなんとなくの機械学習的な理解がある方達がおそらく対象です。 それらに関連した解説も一応書いてます。 ・ビギナーの解説 : 特にプログラマーでもデータサイエンティストでもないけど、Tensorflowを1ヶ月触ったので超分かりやすく解説 ・エキスパートの解説 : Tensorflowを2ヶ月触ったので"手書きひらがな"の識別95.04%で畳み込みニューラルネットワークをわかりやすく解説 機械学習がどんどん盛り上がってますね。 みなさん楽しそう。 そんなわけで今更word2vecなんてやっても...感もあるので、すっ飛ばしてRe

    自然言語系のデータでLSTM理解しようとすると難しいので、MNISTデータでLSTMの基礎を解説 - Qiita
  • ニューラルネット勉強会(LSTM編)

  • LSTMを改良してconvLSTMにする - Qiita

    ##はじめに chainerでLSTMを実装する際に、備え付けのlinks/connection/lstm.pyなどを使わずに書いた場合、convLSTMへの変更が楽だと気づいた。そこでLSTMをconvLSTMへ改良してみる。 ##環境 GPU GTX1070 ubuntu 14.04 chainer 1.14.0 など ##convLSTMについて convLSTMはX. Shiらが提案しているconvolutionとLSTMを組み合わせた手法である。 https://arxiv.org/pdf/1506.04214.pdf 通常のLSTMはlinearな状態で処理されるので、画像などは位置的な情報が死んでしまう。convLSTMは画像の状態を維持したまま入力するので位置情報が保持される。linearの場合の行列演算はconvolutionに置き換えれられる。これによりLSTMの時間情

    LSTMを改良してconvLSTMにする - Qiita
  • リカレントニューラルネットワークの理不尽な効力(翻訳) - Qiita

    上記は、普通の RNN の前進パスの仕様を決めます。そのための RNN のパラメータは、3つの行列 $W_{hh}, W_{xh}, W_{hy}$ です。隠れ状態 $self.h$ は、ゼロベクトルで初期化されます。$np.tanh$ 関数はアクティベーションを $[-1, 1]$ の範囲に押しつぶす、非線形性を実現します。どのように作用するのか簡単に述べると:tanh 内に2つの項があります:一方は前の隠れ状態に基づき、他方は現在の入力に基づきます。numpy の $np.dot$ は行列の掛け算です。2つの中間項は加算され、tanh により新たな状態ベクトルに押しつぶされます。数学の表記に慣れているなら、隠れ状態の更新は以下のように記述可能です。$h_t = \tanh ( W_{hh} h_{t-1} + W_{xh} x_t )$ 、ここで tanh は要素ごとに適用されます。

    リカレントニューラルネットワークの理不尽な効力(翻訳) - Qiita
  • LSTMにsin波を覚えてもらう(chainer trainerの速習) - Qiita

    %matplotlib inline import numpy as np import chainer import chainer.functions as F import chainer.links as L from chainer import report, training, Chain, datasets, iterators, optimizers from chainer.training import extensions from chainer.datasets import tuple_dataset import matplotlib.pyplot as plt class MLP(Chain): n_input = 1 n_output = 1 n_units = 5 def __init__(self): super(MLP, self).__init_

    LSTMにsin波を覚えてもらう(chainer trainerの速習) - Qiita
  • 【まさかの】ChainerでLSTMを使ってナンバーズの予測をする【当選】 - Qiita

    前置き(読み飛ばしていいです) 古巣(某ISP)が定期的にハッカソンを開催していて、ありがたいことに毎回お声掛け頂いています。 特にテーマは無い、もくもく会的なハッカソンです。 毎回美味しいお弁当が出ますが、今回は量は満足でしたが、質がいまいちでした やりたいなーと思っててやる時間がなかったことを毎回やってます。 今回はLSTMを使ってナンバーズの予測をやりました。 数字選択式宝くじ 平日は毎日抽選が行われる 数字を3つ選ぶナンバーズ3と、4つ選ぶナンバーズ4がある 数字と並びの両方を当てるストレート、並びは関係なく数字だけを当てるボックス、ストレートとボックスに半々にかけるイメージのセットがある。 当選金額は ストレート >> セットのストレート > ボックス > セットのボックス みたいなイメージ ナンバーズに関するオカルト「ひっぱり現象」 同じ数字が何回かにわたって連続して出現しやす

    【まさかの】ChainerでLSTMを使ってナンバーズの予測をする【当選】 - Qiita
  • ChainerでLSTMでミニバッチ学習する時に注意するべきこと - あおのたすのブログ

    自然言語処理でSequence to Sequenceモデルを学習する時や、単純にLSTMで入力文を固定次元ベクトルを計算したい時に、 入力が可変長であるため、ミニバッチ学習をする時に工夫が必要です。 他のフレームワーク(TensorFlowやTheano)でも同じような工夫は必要だと思われます。 例えば、 A B C D E F G A B C D E F G H I J 上記のような2つの入力があるとします。 1つ目は長さ7のSequenceで 2つ目は長さ10のSequenceとします。 オンライン学習で学習する場合は特に可変の入力でも問題ありません。 ミニバッチ学習する時に問題になるのは、 入力をmatrixで表現する時に 0 1 2 3 4 5 6 -1 -1 -1 0 1 2 3 4 5 6 7 8 9 このように1つ目の長さ7のデータに対して-1で空白を埋める必要があります。

    ChainerでLSTMでミニバッチ学習する時に注意するべきこと - あおのたすのブログ
  • Keras : コード解説 : IMDB 感情分析 using Embedding, LSTM 層 – RNN – Keras TensorFlow Theano

    Keras : コード解説 : IMDB 感情分析 using Embedding, LSTM 層 * Keras GitHub の サンプル の幾つかの imdb_*.py スクリプト・ベースの snippets。 IMDB 感情分析 using Embedding, LSTM 層 アマゾンが提供している、 インターネット・ムービー・データベース という映画・TV ドラマの情報配信サイトのレビューを使用した感情分析モデルの実装です。 幾つかのモデルが用意されていて、Embedding(埋め込み)層、 LSTM 層 そして畳み込み層を混在させて使います。 インポート from __future__ import print_function import numpy as np np.random.seed(1337) # for reproducibility from keras.p

  • 深層学習で自動作曲(Stacked LSTM編) [DW 6日目] - Qiita

    # 0. ざっくりいうと Stacked LSTMをChainerで書いた それを使って自動作曲してみた こうなった → 再生 (注意!すぐに音声が流れます) 1. LSTMとは 以下を参照。 Understanding LSTM Networks LSTMネットワークの概要 わかるLSTM ~ 最近の動向と共に Recurrent Neural Networks 【深層学習】再帰ニューラルネットワークに関する良ページまとめ [DW 5日目] 2. Stacked LSTMとは LSTMを多層に重ねたニューラルネット。多層にすることによって、各レイヤーで長い相関と短い相関を学習できると期待されている。 ちなみに、LSMTを縦横方向につなげて多次元化したGrid LSTMというネットワークもある。Wikipediaの文字予測タスクや中国語翻訳タスクで良い性能を出しているらしい。 Grid L

    深層学習で自動作曲(Stacked LSTM編) [DW 6日目] - Qiita
  • LSTMを用いた自然言語処理について

    第3回TokyoCL勉強会 でのLSTMについての発表資料です

    LSTMを用いた自然言語処理について
  • RNN – Keras TensorFlow Theano – ClassCat Technical Blog

    Keras : コード解説 : IMDB 感情分析 using Embedding, LSTM 層 * Keras GitHub の サンプル の幾つかの imdb_*.py スクリプト・ベースの snippets。 IMDB 感情分析 using Embedding, LSTM 層 アマゾンが提供している、 インターネット・ムービー・データベース という映画・TV ドラマの情報配信サイトのレビューを使用した感情分析モデルの実装です。 幾つかのモデルが用意されていて、Embedding(埋め込み)層、 LSTM 層 そして畳み込み層を混在させて使います。 インポート from __future__ import print_function import numpy as np np.random.seed(1337) # for reproducibility from keras.p

  • 長文日記

    長文日記
  • Chainerで学ぶLSTM - kivantium活動日記

    このブログで何回も取り上げているように、ニューラルネットワークを用いた機械学習はかなりの力を発揮します。畳み込みニューラルネットワーク(convolutional neural network, CNN)は画像中で近くにあるピクセル同士の関係に注目するなど画像の特徴をうまくとらえたネットワークを構築することでかなりの成功を収めています。ノーフリーランチ定理が示唆するように万能の機械学習器は存在しないため、対象とするデータの特徴を捉えた学習器を構築することが機械学習の精度を上げる上で重要になります。 そこで今回は時系列データの解析に向いた回帰結合ニューラルネットワーク(recurrent neural network, RNN)の精度を上げるのに重要なLSTMを取り上げます。 この記事では誤差逆伝搬などのニューラルネットワークの基知識は説明しません。誤差逆伝搬についてはPRMLの5章やNe

    Chainerで学ぶLSTM - kivantium活動日記
  • TensorFlowで機械学習と戯れる: LSTMでユーザの行動を予測するモデルを作る実験 - Qiita

    はじめに LSTM(Long Short Term Memory) は時系列データの学習によく用いられているものです。 わかるLSTM ~ 最近の動向と共にの記事がとても詳細に説明されています。 上記でも解説されていますが、LSTMは例えば「今までの単語列を入力として、もっともらしい次の単語を予測する」というような「文章の生成」に使うことができます。 このLSTMを使って、例えば、Webサービスにアクセスする 「ユーザの行動」を「単語」 とみなせば 「ユーザの一連の行動」は「文章」 とみなせるわけで、 **「こういう行動を取ってきた人は、次にこういう行動を行う」**という予測モデルが作れないかと考えました。 この予測モデルが作れれば、あとは文章生成のような形で 行動生成 ができます。つまり、ある種の ユーザ行動のシミュレーション ができることになります。 ユーザがある程度アクセスすれば、

    TensorFlowで機械学習と戯れる: LSTMでユーザの行動を予測するモデルを作る実験 - Qiita
  • LSTMネットワークの概要 - Qiita

    Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article? Christopher Olah氏のブログ記事 http://colah.github.io/posts/2015-08-Understanding-LSTMs/ の翻訳です。 翻訳の誤りなどあればご指摘お待ちしております。 ##リカレントニューラルネットワーク 人間は毎秒ゼロから思考を開始することはありません。このエッセイを読んでいる間、あなたは前の単語の理解に基づいて、各単語を理解します。すべてを捨てて、またゼロから思考を開始してはいません。あなたの思考は持続性を持っています。 従来のニューラルネットワークは、これを行うことができま

    LSTMネットワークの概要 - Qiita
  • わかるLSTM ~ 最近の動向と共に - Qiita

    Machine Learning Advent Calendar 2015 第14日です。去年のAdvent Calendarで味をしめたので今年も書きました。質問、指摘等歓迎です。 この記事の目的 ここ2~3年のDeep Learningブームに合わせて、リカレントニューラルネットワークの一種であるLong short-term memory(LSTM)の存在感が増してきています。LSTMは現在Google Voiceの基盤技術をはじめとした最先端の分野でも利用されていますが、その登場は1995年とそのイメージとは裏腹に歴史のあるモデルでもあります。ところがLSTMについて使ってみた記事はあれど、詳しく解説された日語文献はあまり見当たらない。はて、どういうことでしょうか。 記事ではLSTMの基礎をさらいつつ、一体全体LSTMとは何者なのか、LSTMはどこに向かうのか、その中身をまとめ

    わかるLSTM ~ 最近の動向と共に - Qiita
  • 1