Skip to content

Latest commit

 

History

History
184 lines (117 loc) · 8.12 KB

implementation.md

File metadata and controls

184 lines (117 loc) · 8.12 KB
layout title permalink
page
/implementation/

実装した論文やツールなど。

実装難易度は10段階です。記載がないものは容易に実装できます。

Chainer

  • ChainerのChainをもっと書きやすくするために作りました

Deep Learning

  • Simple Recurrent Unit
  • RNNの高速な実装です
  • LSTMに比べて10倍程度速いです
  • 出力が自動的に正規化される活性化関数です
  • 効く場合と効かない場合があります
  • Regularized Information MaximizationとVirtual Adversarial Trainingを組み合わせた手法です
  • MNISTを教師なしで98%分類できます
  • 実装難易度: 3
  • CNNでRNNの機構を模して高速化したモデルです
  • オートエンコーダベースのGANをWasserstein距離を用いて学習します。
  • 学習が非常に不安定です
  • 正解ラベルに対する二乗誤差を用いて学習を行うGANです
  • 綺麗な画像が生成されます
  • Wasserstein距離を最小化することで学習を行うGANです
  • mode collapseの回避能力に優れています
  • 実験を行った範囲では生成される画像が実データにあまり近くありませんでした
  • GANの学習を安定化させるテクニックの実装です
  • GANの学習を安定化させるテクニックの実装です
  • VAEの拡張です
  • 実装難易度: 3
  • クラス分類の汎化性能を高めます
  • 予測分布$p(y \mid x)$が乱れてしまうようなノイズ$r$をデータ$x$に加え、$p(y \mid x+r)$が滑らかになるように学習します
  • MNISTの半教師あり学習でほぼワンショット学習を達成できます
  • オートエンコーダの隠れ変数の正則化にGANを使います
  • VAEに比べて隠れ変数を狙った分布に綺麗に押し込めます
  • 積モデル(Products of Experts)によりデータのエネルギーを計算します
  • データ分布から外れた偽のデータに対してはエネルギーが高くなり、本物のデータのエネルギーは低くなります
  • データ分布からのサンプリングをGeneratorによって近似します
  • Softmax層からの離散的なサンプリングを微分可能な形で行うことができる手法です
  • 重みを正規化する手法です
  • ChainerのLinkの拡張になっています
  • 人間とほぼ同等な品質の音声生成ができるモデルです
  • 具体的なことが何も書かれていないため実装者によるところが大きいです
  • 計算量が大きすぎるため個人では実験することが困難だと思います
  • VAEです
  • データの尤度を直接計算するのは困難なため、その対数尤度の下限値を増大させることで学習を行います
  • 実装難易度: 3

Deep Q-Network

  • DQNです
  • 強化学習をDeepにしています
  • DQNの拡張です
  • 行動の選択と評価を別々のQ関数で行ないます
  • DQNの拡張です
  • Q関数を分解したDueling Architectureを提案しています

自然言語処理

  • NPYLMとCRFを統合したモデルです
  • 実装難易度: 7
  • 木構造棒折り過程を階層化して状態遷移確率を表すHMMです
  • 状態数と状態の階層構造をデータから学習します
  • デバッグが非常に辛いです
  • 実装難易度: 6
  • 文字列データから教師なしで文字nグラムモデルと単語nグラムモデルを学習します
  • 単語nグラムの学習の際に文字列の単語分割を推定します
  • 学習が進むにつれて自然な単語分割を教師なしで獲得できます
  • デバッグが非常に辛いです
  • 実装難易度: 6
  • VPYLMです
  • 言語モデルは通常バイグラムやトライグラムのように文脈長が固定ですが、これを可変長にできるようにしたモデルです
  • 可変長といえばRNN言語モデルなどがありますが、VPYLMの利点はどのオーダーからデータが生成されたかを推定することができ、必要最低限のオーダーでモデルが学習されていきます
  • 実装難易度: 5
  • 単語に潜在空間における座標を与えたトピックモデルです
  • 単語の文書との共起をモデル化しています
  • 機能語の共起が抑えられるため、意味のある単語を抽出しやすくなっています
  • 実装難易度: 4
  • HPYLMです
  • 言語モデルのスムージングをベイズ的に行えます
  • Kneser-NeyスムージングがHPYLMの近似であることが判明しました
  • 実装難易度: 4
  • ベイズ的なアプローチにより教師なし品詞推定が行なえます
  • 品詞数は事前に要設定
  • 実装難易度: 4
  • ベイズ的なアプローチにより教師なし品詞推定が行なえます
  • 品詞数もデータから推定できます
  • 実装難易度: 4

ツール類

  • 教師なし品詞推定の代表的な手法を実装しています
  • 現在も実装途中です