chainer with natural language processing hands on
TRANSCRIPT
![Page 1: Chainer with natural language processing hands on](https://reader031.vdocuments.mx/reader031/viewer/2022022203/586f96291a28abcc238b4679/html5/thumbnails/1.jpg)
![Page 2: Chainer with natural language processing hands on](https://reader031.vdocuments.mx/reader031/viewer/2022022203/586f96291a28abcc238b4679/html5/thumbnails/2.jpg)
Chainer を用いた自然言語処理でソースコード自動生成に挑戦
(ハンズオン)
2
![Page 3: Chainer with natural language processing hands on](https://reader031.vdocuments.mx/reader031/viewer/2022022203/586f96291a28abcc238b4679/html5/thumbnails/3.jpg)
自己紹介
大串 正矢
@SnowGushiGit
TIS株式会社 戦略技術センター
Tech-Circle 運営スタッフ
機械学習/自然言語処理
音声認識
Python
3
![Page 4: Chainer with natural language processing hands on](https://reader031.vdocuments.mx/reader031/viewer/2022022203/586f96291a28abcc238b4679/html5/thumbnails/4.jpg)
アウトライン
• 自然言語処理における基盤技術
• 言語モデルの種類
• なぜ言語モデルが必要
• 言語モデルって何
• 言語モデルの代表例
– nグラム言語モデル
– ニューラル言語モデル
– リカレントニューラル言語モデル
• Hands On – 学習
– 言語モデルの評価方法
– 言語モデルの種類と用途
– 文字の予測
• ライトニングトーク
4
![Page 5: Chainer with natural language processing hands on](https://reader031.vdocuments.mx/reader031/viewer/2022022203/586f96291a28abcc238b4679/html5/thumbnails/5.jpg)
Infrastructure Technology on the
Natural Language Processing
5
![Page 6: Chainer with natural language processing hands on](https://reader031.vdocuments.mx/reader031/viewer/2022022203/586f96291a28abcc238b4679/html5/thumbnails/6.jpg)
6
句構造
S
NP
VP
NP
形容詞 名詞 名詞 動詞 冠詞 品詞
係り受け構造
自然言語処理における基盤技術
Neural networks improve the
言語モデルによる予測
accuracy Neural networks improve the
![Page 7: Chainer with natural language processing hands on](https://reader031.vdocuments.mx/reader031/viewer/2022022203/586f96291a28abcc238b4679/html5/thumbnails/7.jpg)
The Varity of Language Model
and
How to use it
7
![Page 8: Chainer with natural language processing hands on](https://reader031.vdocuments.mx/reader031/viewer/2022022203/586f96291a28abcc238b4679/html5/thumbnails/8.jpg)
言語モデルの種類と用途
8
多い
少ない
Nグラム
言語モデル
ニューラル
言語モデル
リカレントニューラル
言語モデル
テストに出ます
本日の説明範囲
データの量、種類
文脈自由文法
![Page 9: Chainer with natural language processing hands on](https://reader031.vdocuments.mx/reader031/viewer/2022022203/586f96291a28abcc238b4679/html5/thumbnails/9.jpg)
Why Language Model
9
![Page 10: Chainer with natural language processing hands on](https://reader031.vdocuments.mx/reader031/viewer/2022022203/586f96291a28abcc238b4679/html5/thumbnails/10.jpg)
なぜ言語モデルが必要
• 音声認識では一単語を聞き取れないだけで・・・
W1 = 私のこと が 好きなの?
私のことが好きなの?
W2 = 私のこと も 好きなの?
W3 = 私のこと の 好きなの?
10
![Page 11: Chainer with natural language processing hands on](https://reader031.vdocuments.mx/reader031/viewer/2022022203/586f96291a28abcc238b4679/html5/thumbnails/11.jpg)
なぜ言語モデルが必要
• “が”、“に”などの機能語の違いで意味が大きく変わってくる・・・・
W1 = 私のこと が 好きなの?
W2 = 私のこと も 好きなの?
W3 = 私のこと の 好きなの?
11
and
![Page 12: Chainer with natural language processing hands on](https://reader031.vdocuments.mx/reader031/viewer/2022022203/586f96291a28abcc238b4679/html5/thumbnails/12.jpg)
なぜ言語モデルが必要
• 一文字違うだけなのに理不尽・・・
どうにかならないの・・・
言語モデル
俺に任せろ!!!
12
![Page 13: Chainer with natural language processing hands on](https://reader031.vdocuments.mx/reader031/viewer/2022022203/586f96291a28abcc238b4679/html5/thumbnails/13.jpg)
Language Model
13
![Page 14: Chainer with natural language processing hands on](https://reader031.vdocuments.mx/reader031/viewer/2022022203/586f96291a28abcc238b4679/html5/thumbnails/14.jpg)
言語モデルとは
• 各文章にもっともらしさ(確率)を与える
W1 = 私のこと が 好きなの?
W2 = 私のこと も 好きなの?
W3 = 私のこと の 好きなの?
P(W1) = 0.8
P(W2) = 0.4
P(W3) = 0.2
14
![Page 15: Chainer with natural language processing hands on](https://reader031.vdocuments.mx/reader031/viewer/2022022203/586f96291a28abcc238b4679/html5/thumbnails/15.jpg)
言語モデルとは
• 音声的に似ていても次の単語でもっとも不自然でない単語を選んでくれる!!!
W1 = 私のこと が 好きなの?
W2 = 私のこと も 好きなの?
W3 = 私のこと の 好きなの?
P(W1) = 0.8
P(W2) = 0.4
P(W3) = 0.2
15
![Page 16: Chainer with natural language processing hands on](https://reader031.vdocuments.mx/reader031/viewer/2022022203/586f96291a28abcc238b4679/html5/thumbnails/16.jpg)
N-gram Language Model
16
![Page 17: Chainer with natural language processing hands on](https://reader031.vdocuments.mx/reader031/viewer/2022022203/586f96291a28abcc238b4679/html5/thumbnails/17.jpg)
言語モデルの代表例
• nグラム言語モデル
W = <s> 私 の こと が 好きなの </s>
下記のように表す。(バイグラムの場合)
P(W1 = 私 | W0 = <s>)
P(W2 = の | W1 = 私)
P(W3 = こと | W2 = の)
P(W4 = が | W3 = こと)
P(W5 = 好きなの | W4 = が)
:
17
私 の
文書
<s> 私 私 の
<s>
Count up
![Page 18: Chainer with natural language processing hands on](https://reader031.vdocuments.mx/reader031/viewer/2022022203/586f96291a28abcc238b4679/html5/thumbnails/18.jpg)
言語モデルの代表例
• nグラム言語モデル
–利点
• 簡単
• それなりの精度
–欠点
• nの数に比例して指数関数的に計算量が増加
• 頻度の低い単語列にも影響を受けるため余計な単語列をいかにして削るか考慮が必要
• 離れた単語間の関係・・・
18
![Page 19: Chainer with natural language processing hands on](https://reader031.vdocuments.mx/reader031/viewer/2022022203/586f96291a28abcc238b4679/html5/thumbnails/19.jpg)
言語モデルの代表例
• 頻度の低い単語の考慮が大変(汗
ニューラル
言語モデル
俺に任せろ!!!
19
![Page 20: Chainer with natural language processing hands on](https://reader031.vdocuments.mx/reader031/viewer/2022022203/586f96291a28abcc238b4679/html5/thumbnails/20.jpg)
Neural Network Language Model
20
![Page 21: Chainer with natural language processing hands on](https://reader031.vdocuments.mx/reader031/viewer/2022022203/586f96291a28abcc238b4679/html5/thumbnails/21.jpg)
言語モデルの代表例
• ニューラルネットの適用
21
![Page 22: Chainer with natural language processing hands on](https://reader031.vdocuments.mx/reader031/viewer/2022022203/586f96291a28abcc238b4679/html5/thumbnails/22.jpg)
言語モデルの代表例
• Bag of word を入力にする
22
I :0
am:0
show:1
me:0
your:0
you:0
:
when:0
are:0
辞
書
サ
イ
ズ
![Page 23: Chainer with natural language processing hands on](https://reader031.vdocuments.mx/reader031/viewer/2022022203/586f96291a28abcc238b4679/html5/thumbnails/23.jpg)
言語モデルの代表例
• 不要な情報が多い
23
I :0
am:0
show:1
me:0
your:0
you:0
:
when:0
are:0
辞
書
サ
イ
ズ
不要な情報が多い!!!
推定したいものだけに厳選したい
![Page 24: Chainer with natural language processing hands on](https://reader031.vdocuments.mx/reader031/viewer/2022022203/586f96291a28abcc238b4679/html5/thumbnails/24.jpg)
言語モデルの代表例
• 必要な情報だけに洗練する
24
辞
書
サ
イ
ズ
変換行列
辞書サイズ
I :0
am:0
show:1
me:0
your:0
you:0
:
when:0
are:0
× =
単語ベクトル
洗練された情報
単語ベクトルサイズ
![Page 25: Chainer with natural language processing hands on](https://reader031.vdocuments.mx/reader031/viewer/2022022203/586f96291a28abcc238b4679/html5/thumbnails/25.jpg)
言語モデルの代表例
25
単語ベクトル
次の 単語
例文:Show me your hair
show me
バイグラムのように次の単語予測
![Page 26: Chainer with natural language processing hands on](https://reader031.vdocuments.mx/reader031/viewer/2022022203/586f96291a28abcc238b4679/html5/thumbnails/26.jpg)
言語モデルの代表例
• ニューラル言語モデル
–利点
• 単語を限定されたベクトル空間に変換可能(計算量が減る)
• 文脈を考慮した学習が可能
–欠点
• ドメインが全く違うデータに弱い可能性が
• 入力層は固定にする必要があるので入力できる文章に限りがある
26
![Page 27: Chainer with natural language processing hands on](https://reader031.vdocuments.mx/reader031/viewer/2022022203/586f96291a28abcc238b4679/html5/thumbnails/27.jpg)
Recurrent Neural Network
Language Model
27
![Page 28: Chainer with natural language processing hands on](https://reader031.vdocuments.mx/reader031/viewer/2022022203/586f96291a28abcc238b4679/html5/thumbnails/28.jpg)
言語モデルの代表例
• リカレントニューラル言語モデル
28
0
0
0
0
1
:
0 出力層
例文:Show me your hair
your
hair 隠れ層
𝑈
変換行列
meの時
の
隠れ層
𝑊
𝑉
重要
![Page 29: Chainer with natural language processing hands on](https://reader031.vdocuments.mx/reader031/viewer/2022022203/586f96291a28abcc238b4679/html5/thumbnails/29.jpg)
言語モデルの代表例
• リカレントニューラル言語モデル
–利点
• 単語を限定されたベクトル空間に変換可能(計算量が減る)
• 過去の単語を利用して学習し、過去の単語はさらに過去の単語に影響を受けているので文脈の考慮できる長さが長い
–欠点
• ドメインが全く違うデータに弱い可能性
• メモリをすごく消費する
• 速度が遅い
29
![Page 30: Chainer with natural language processing hands on](https://reader031.vdocuments.mx/reader031/viewer/2022022203/586f96291a28abcc238b4679/html5/thumbnails/30.jpg)
言語モデルの代表例
• 学習されるパラメータ
単語を潜在空間に写像
重み
次の単語を予測
30
0
0
0
0
1
:
0 出力層
your
hair 隠れ層
変換行列
meの時
の
隠れ層
𝑈
𝑊
𝑉
![Page 31: Chainer with natural language processing hands on](https://reader031.vdocuments.mx/reader031/viewer/2022022203/586f96291a28abcc238b4679/html5/thumbnails/31.jpg)
言語モデルの代表例
• 学習方法はイメージだけ
真の単語列
差を取る
31
0
0
0
0
1
:
0 出力層
your
隠れ層
変換行列
meの時
の
隠れ層
𝑈
𝑊
𝑉
![Page 32: Chainer with natural language processing hands on](https://reader031.vdocuments.mx/reader031/viewer/2022022203/586f96291a28abcc238b4679/html5/thumbnails/32.jpg)
言語モデルの代表例
• 学習方法はイメージだけ
真の単語列
差を取る
32
0
0
0
0
1
:
0 出力層
your
隠れ層
変換行列
meの時
の
隠れ層
更新
𝑈
𝑊
𝑉
![Page 33: Chainer with natural language processing hands on](https://reader031.vdocuments.mx/reader031/viewer/2022022203/586f96291a28abcc238b4679/html5/thumbnails/33.jpg)
言語モデルの代表例
• 学習方法はイメージだけ
真の単語列
差を取る
33
0
0
0
0
1
:
0 出力層
your
隠れ層
変換行列
meの時
の
隠れ層
更新
過去の単語考慮
𝑈
𝑊
𝑉
![Page 34: Chainer with natural language processing hands on](https://reader031.vdocuments.mx/reader031/viewer/2022022203/586f96291a28abcc238b4679/html5/thumbnails/34.jpg)
言語モデルの代表例
真の単語列
差を取る
34
0
0
0
0
1
:
0 出力層
“your”
隠れ層
“me” 0
0
1
0
0
:
0 0
0
1
0
0
:
0
“show”
過去の単語考慮部分
例文:Show me your hair
𝑈
𝑊
𝑉
𝑈
𝑊
𝑉
![Page 35: Chainer with natural language processing hands on](https://reader031.vdocuments.mx/reader031/viewer/2022022203/586f96291a28abcc238b4679/html5/thumbnails/35.jpg)
言語モデルの代表例
• リカレントニューラル言語モデル
(ここを本格的に説明するとハンズオンに入れないので軽く)
– LSTM • 長期的に記憶するための工夫
– Drop out • 隠れ層のユニットをランダムになくすことにより、偏った学習を防ぐ
–ミニバッチ • データをすべて使用せずに一部だけ使用することで学習効率を高める
35
![Page 36: Chainer with natural language processing hands on](https://reader031.vdocuments.mx/reader031/viewer/2022022203/586f96291a28abcc238b4679/html5/thumbnails/36.jpg)
Hands On
• リカレントニューラル言語モデルを作成しよう!!!・・・どうやって??
Chainer
俺に任せろ!!!
36
![Page 37: Chainer with natural language processing hands on](https://reader031.vdocuments.mx/reader031/viewer/2022022203/586f96291a28abcc238b4679/html5/thumbnails/37.jpg)
Chainer
37
![Page 38: Chainer with natural language processing hands on](https://reader031.vdocuments.mx/reader031/viewer/2022022203/586f96291a28abcc238b4679/html5/thumbnails/38.jpg)
Chainer
参照:DLフレームワークChainerの紹介と分散深層強化学習によるロボット制御
http://www.slideshare.net/ryokuta/dlchainer#19
38
![Page 39: Chainer with natural language processing hands on](https://reader031.vdocuments.mx/reader031/viewer/2022022203/586f96291a28abcc238b4679/html5/thumbnails/39.jpg)
Chainer
• ニューラルネットを記述するのに必要な機能
–ニューラルネット
–順伝搬、逆伝搬
–勾配法によるパラメータ最適化
• Chainerの特徴
–順伝搬は単純にPythonのスクリプトとして書ける
–スクリプトの実行結果は計算手順を記憶しているため逆伝搬を書く必要なし!!
39
![Page 40: Chainer with natural language processing hands on](https://reader031.vdocuments.mx/reader031/viewer/2022022203/586f96291a28abcc238b4679/html5/thumbnails/40.jpg)
Chainer
• Chainerによる実装
–ニューラルネットの構成
–順伝搬、逆伝搬、学習
40
𝑥
FunctionSet
順伝搬実装
逆伝搬反映
最適化
![Page 41: Chainer with natural language processing hands on](https://reader031.vdocuments.mx/reader031/viewer/2022022203/586f96291a28abcc238b4679/html5/thumbnails/41.jpg)
Chainer
41
𝑥
FunctionSet
Function(パラメータあり) W(重み), b(バイアス)
順伝搬実装
逆伝搬反映
最適化
![Page 42: Chainer with natural language processing hands on](https://reader031.vdocuments.mx/reader031/viewer/2022022203/586f96291a28abcc238b4679/html5/thumbnails/42.jpg)
Chainer
42
𝑥
FunctionSet
順伝搬実装
逆伝搬反映
最適化
Function(パラメータなし)
![Page 43: Chainer with natural language processing hands on](https://reader031.vdocuments.mx/reader031/viewer/2022022203/586f96291a28abcc238b4679/html5/thumbnails/43.jpg)
Chainer
43
𝑥
FunctionSet
順伝搬実装
逆伝搬反映
最適化
4行で済みます
![Page 44: Chainer with natural language processing hands on](https://reader031.vdocuments.mx/reader031/viewer/2022022203/586f96291a28abcc238b4679/html5/thumbnails/44.jpg)
Chainer
• これだけ
– まず勾配をゼロ初期化:zero_grads()
– 入力データを利用して順伝搬実行
– 逆伝搬を実行
– 最適化ルーチンを実行: update()
optimizer.zero_grads()
loss = forward(x, t)
loss.backward()
optimizer.update()
44
![Page 45: Chainer with natural language processing hands on](https://reader031.vdocuments.mx/reader031/viewer/2022022203/586f96291a28abcc238b4679/html5/thumbnails/45.jpg)
Hands On
45
![Page 46: Chainer with natural language processing hands on](https://reader031.vdocuments.mx/reader031/viewer/2022022203/586f96291a28abcc238b4679/html5/thumbnails/46.jpg)
Hands On
• Chainer with Recurrent neural language
model
Chainer
俺に任せろ!!!
46
![Page 47: Chainer with natural language processing hands on](https://reader031.vdocuments.mx/reader031/viewer/2022022203/586f96291a28abcc238b4679/html5/thumbnails/47.jpg)
Hands On
ハンズオン資料
(Connpassページにリンク貼ってます)
http://goo.gl/XEeM7Q
47
![Page 48: Chainer with natural language processing hands on](https://reader031.vdocuments.mx/reader031/viewer/2022022203/586f96291a28abcc238b4679/html5/thumbnails/48.jpg)
Hands On Task
48
![Page 49: Chainer with natural language processing hands on](https://reader031.vdocuments.mx/reader031/viewer/2022022203/586f96291a28abcc238b4679/html5/thumbnails/49.jpg)
Hands On
• プログラミングさぼりたい・・・・
49
単純なプログラム誰か作ってくれねーかな とりあえず明日から本
気出す
![Page 50: Chainer with natural language processing hands on](https://reader031.vdocuments.mx/reader031/viewer/2022022203/586f96291a28abcc238b4679/html5/thumbnails/50.jpg)
Hands On
50
プログラム作るプログラム作れば良いじゃん
俺って天才
![Page 51: Chainer with natural language processing hands on](https://reader031.vdocuments.mx/reader031/viewer/2022022203/586f96291a28abcc238b4679/html5/thumbnails/51.jpg)
Hands On
51
• ルール地獄・・・・
![Page 52: Chainer with natural language processing hands on](https://reader031.vdocuments.mx/reader031/viewer/2022022203/586f96291a28abcc238b4679/html5/thumbnails/52.jpg)
Hands On
• パターンが多くて破綻する
52
機械学習の出番
![Page 53: Chainer with natural language processing hands on](https://reader031.vdocuments.mx/reader031/viewer/2022022203/586f96291a28abcc238b4679/html5/thumbnails/53.jpg)
Hands On
• ハンズオンの目的
–ソースコード自動生成
53
![Page 54: Chainer with natural language processing hands on](https://reader031.vdocuments.mx/reader031/viewer/2022022203/586f96291a28abcc238b4679/html5/thumbnails/54.jpg)
Hands On
• リポジトリ構成について
• 構成理由
–モデルとデータのフォルダは別にする
– iPython notebookでノウハウ共有を簡単に
54
CV:プログラムで生成します
data_hands_on
プログラミングコードなど
![Page 55: Chainer with natural language processing hands on](https://reader031.vdocuments.mx/reader031/viewer/2022022203/586f96291a28abcc238b4679/html5/thumbnails/55.jpg)
Hands On
• リカレントニューラル言語モデル作成のプロセスを体験
• 今回は学習から文字の予測までを一つのPythonファイルで行っています。
– *注意:通常は学習モデルのクラスは別で用意します。
• iPython notebookの画面を開いて下さい
55
![Page 56: Chainer with natural language processing hands on](https://reader031.vdocuments.mx/reader031/viewer/2022022203/586f96291a28abcc238b4679/html5/thumbnails/56.jpg)
Learning
56
![Page 57: Chainer with natural language processing hands on](https://reader031.vdocuments.mx/reader031/viewer/2022022203/586f96291a28abcc238b4679/html5/thumbnails/57.jpg)
Hands On
• リカレントニューラル言語モデル作成のプロセスを体験
57
プログラム実行
上記から実行していきます
![Page 58: Chainer with natural language processing hands on](https://reader031.vdocuments.mx/reader031/viewer/2022022203/586f96291a28abcc238b4679/html5/thumbnails/58.jpg)
Hands On
• リカレントニューラル言語モデル作成のプロセスを体験
58
CV
data_hands_on
プログラミングコードなど
モデルが作成されればOK
![Page 59: Chainer with natural language processing hands on](https://reader031.vdocuments.mx/reader031/viewer/2022022203/586f96291a28abcc238b4679/html5/thumbnails/59.jpg)
How to Evaluate it ?
59
![Page 60: Chainer with natural language processing hands on](https://reader031.vdocuments.mx/reader031/viewer/2022022203/586f96291a28abcc238b4679/html5/thumbnails/60.jpg)
言語モデルの代表例
• どうやって評価するの? – 言語モデルの複雑さ:パープレシティ
• 平均分岐数:言語モデルの複雑さを表す。低い方が良い
– 単語の網羅率:カバレージ
• 言語モデルがどれだけテストデータの文字列をカバーできているか
単語数 −未知の単語数
単語数
60
![Page 61: Chainer with natural language processing hands on](https://reader031.vdocuments.mx/reader031/viewer/2022022203/586f96291a28abcc238b4679/html5/thumbnails/61.jpg)
Predict the words
61
![Page 62: Chainer with natural language processing hands on](https://reader031.vdocuments.mx/reader031/viewer/2022022203/586f96291a28abcc238b4679/html5/thumbnails/62.jpg)
Hands On
62
• パラメータが適切でないと・・・
![Page 63: Chainer with natural language processing hands on](https://reader031.vdocuments.mx/reader031/viewer/2022022203/586f96291a28abcc238b4679/html5/thumbnails/63.jpg)
Hands On
63
• この馬鹿なモデルを賢くするのはあなた次第です!!!
![Page 64: Chainer with natural language processing hands on](https://reader031.vdocuments.mx/reader031/viewer/2022022203/586f96291a28abcc238b4679/html5/thumbnails/64.jpg)
Hands On
64
• パラメータ最適化の一般的な手法
–グリッドサーチ
–ランダムサーチ
–モデルベースメソッド
![Page 65: Chainer with natural language processing hands on](https://reader031.vdocuments.mx/reader031/viewer/2022022203/586f96291a28abcc238b4679/html5/thumbnails/65.jpg)
Predict the words (Re-try)
65
![Page 66: Chainer with natural language processing hands on](https://reader031.vdocuments.mx/reader031/viewer/2022022203/586f96291a28abcc238b4679/html5/thumbnails/66.jpg)
Hands On
66
• 時間内に学習が終わりません・・
–高速化できるGPUの使い方をQiitaに書いておきました
![Page 67: Chainer with natural language processing hands on](https://reader031.vdocuments.mx/reader031/viewer/2022022203/586f96291a28abcc238b4679/html5/thumbnails/67.jpg)
Enjoy Chainer !!
Enjoy Language Model !!
67
![Page 68: Chainer with natural language processing hands on](https://reader031.vdocuments.mx/reader031/viewer/2022022203/586f96291a28abcc238b4679/html5/thumbnails/68.jpg)
Thank you!!
68
![Page 69: Chainer with natural language processing hands on](https://reader031.vdocuments.mx/reader031/viewer/2022022203/586f96291a28abcc238b4679/html5/thumbnails/69.jpg)
補足:RmsPropについて
69
入力とパラメータに対する損失関数の勾配
過去の勾配減衰
現在の勾配減衰
損失関数の勾配は小さいほど良いのでマイナスの場合は重みを増やし、プラスの場合は減算する
過去と現在の勾配の影響度合いを算出
![Page 70: Chainer with natural language processing hands on](https://reader031.vdocuments.mx/reader031/viewer/2022022203/586f96291a28abcc238b4679/html5/thumbnails/70.jpg)
参考資料
• Deep Learning のフレームワーク Chainer を公開しました
• https://research.preferred.jp/2015/06/deep-learning-chainer/
• 言語モデルのカバレージ、パープレキシティの説明
• http://marujirou.hatenablog.com/entry/2014/08/22/235215
• ディープラーニングフレームワークChainerをEC2のGPUインスタンスで動かす g2.2xlarge
instance
• http://ukonlly.hatenablog.jp/entry/2015/07/04/210149
• Drop Out
• http://olanleed.hatenablog.com/entry/2013/12/03/010945
• Learning to forget continual prediction with lstm
• http://www.slideshare.net/FujimotoKeisuke/learning-to-forget-continual-prediction-with-lstm
• Zaremba, Wojciech, Ilya Sutskever, and Oriol Vinyals. "Recurrent neural network regularization."
arXiv preprint arXiv:1409.2329 (2014).
• Google Mikolov
• http://www.rnnlm.org/
• Neural Network(NN)を利用したLanguage Model(LM),つまりNeural Network Language
Model(NNLM)の一種であり, Recurrent Neural Network(RNN)を使ったRecurrent Neural Network
Language Model(RNNLM)
• http://kiyukuta.github.io/2013/12/09/mlac2013_day9_recurrent_neural_network_language_model.
html 70
![Page 71: Chainer with natural language processing hands on](https://reader031.vdocuments.mx/reader031/viewer/2022022203/586f96291a28abcc238b4679/html5/thumbnails/71.jpg)
参考資料
• Long Short-term Memory
• http://www.slideshare.net/nishio/long-shortterm-memory
• RNNLM
• http://www.slideshare.net/uchumik/rnnln
• スパース推定概観:モデル・理論・応用
• http://www.is.titech.ac.jp/~s-taiji/tmp/sparse_tutorial_2014.pdf
• 正則化学習法における最適化手法
• http://imi.kyushu-u.ac.jp/~waki/ws2013/slide/suzuki.pdf
• リカレントニューラル言語モデル作成参考
https://github.com/yusuketomoto/chainer-char-rnn
• ニューラルネット 自然言語処理
http://www.orsj.or.jp/archive2/or60-4/or60_4_205.pdf
• 言語モデル作成
http://www.slideshare.net/uchumik/rnnln
• 自然言語処理プログラミング勉強会n-gram言語モデル
http://www.phontron.com/slides/nlp-programming-ja-02-bigramlm.pdf
• Statistical Semantic入門 ~分布仮説からword2vecまで~
http://www.slideshare.net/unnonouno/20140206-statistical-semantics
• linux source code
https://github.com/torvalds/linux 71
![Page 72: Chainer with natural language processing hands on](https://reader031.vdocuments.mx/reader031/viewer/2022022203/586f96291a28abcc238b4679/html5/thumbnails/72.jpg)
参考資料
• Chainerのptbサンプルを解説しつつ、自分の文章を深層学習させて、僕の文章っぽい文を自動生成させてみる
• http://d.hatena.ne.jp/shi3z/20150714/1436832305
• なぜGPUコンピューティングが注目を浴びているか - 慶應義塾
http://www.yasuoka.mech.keio.ac.jp/gpu/gpu_0.php
• CUDA技術を利用したGPUコンピューティングの実際(前編) ―― グラフィックス分野で磨かれた並列処理技術を汎用数値計算に応用
http://www.kumikomi.net/archives/2008/06/12gpu1.php?page=1
• GPGPU
https://ja.wikipedia.org/wiki/GPGPU#.E7.89.B9.E5.BE.B4.E3.81.A8.E8.AA.B2.E9.A1.8C
• 自然言語処理論I
• http://www.jaist.ac.jp/~kshirai/lec/i223/02.pdf
• Chainerで始めるニューラルネットワーク
• http://qiita.com/icoxfog417/items/96ecaff323434c8d677b
• ぱくたそ
• https://www.pakutaso.com/
72