Giter VIP home page Giter VIP logo

mlpnlp's Introduction

機械学習プロフェッショナルシリーズ 深層学習による自然言語処理

このページで正誤表を管理します。書籍の誤植等を見つけられた方は https://github.com/mlpnlp/mlpnlp/issues にIssueを作ってお知らせいただけると幸いです.

issue 報告者 ページ 修正前 修正後 修正済版  
#1 shirayu様 p. 113 noise contrasive estimation noise contrastive estimation 第2刷
#2 tam17aki様 p. 40 「... この仮定時間ごとに異なるパラメータを使うモデルに比べてパラメータ数が減り、...」 「... この仮定により時間ごとに異なるパラメータを使うモデルに比べてパラメータ数が減り、...」 第3刷
#3 @stomohide様 p. 36 式(2.62) before after 第3刷
#4 eiichiroi様 p. 109 式(4.35) softmax-eq-4 36-error softmax-eq-4 36 第3刷
#5 tomohideshibat様 p. 92 式(4.4) eq4 4org eq4 4new-bmatrix 第4刷
#5 tomohideshibat様 p. 94 式(4.7) eq4 7org eq4 7new-bmatrix 第4刷
#6 tomohideshibat様 P.92 最終段落 ほとんど最初の3単語のみの情報 ほとんど3番目の入力単語のみの情報 第4刷
#7 shirayu様 P.24 最終段落 必ず微分係数が1以上になります p24-flの微分の絶対値が小さくても全体の微分係数は1に近い値になります 第4刷
#8 himkt様 P.10 式(2.5) eq2 5org eq2 5new 第4刷
#9 yuutat P.146-148 図5.6, 図5.7, 図5.8 符号化器  figure5 6-5 8org-small (緑の箱が実線) figure5 6-5 8new-small (緑の箱は点線。ただし、入力の1つ目だけは実線) 第4刷
#10 yuutat P.166 図 6.3 凡例 「訓練データでの誤差」が青線、 「訓練データ以外での誤差」が黒線 「開発データでの誤差」が青線、 「訓練データでの誤差」が黒線 第4刷
#11 scapegoat06様 P.29 3段落目 入力列全体 p29-inputseq-org 入力列全体 p29-inputseq-new 第4刷
#13 arumtaunsaram様 P.79 (4) 復号化器再帰層 復号化器埋め込み層の処理に対する入出力は  復号化器再帰層の処理に対する入出力は
#14 ysekky様 P.100 一般化 genelarization generalization
#16 ysekky様 P.106 4.2.4節 sementic memory module semantic memory module
#18 ktphy様 P.68 式(3.22) eq3 22org eq3 22new (exp 抜け)
#21 dkawahara様 P.32 4行目 対処できます 対処できます
#23 murawaki様 p.137 下から10行目 連結します関数concat 連結します. 関数concat
#24 murawaki様 P.53 式(3.14) eq3 14org eq3 14new
#24 murawaki様 P.54冒頭 p54-pmodelorg p54-pmodelnew
#24 murawaki様 P.55 式(3.15) eq3 15org eq3 15new
#26 dkawahara様 P.100 4.2.1節 2行目 モデル考えます モデルを考えます
#28 dkawahara様 P.104 4.2.3節 下から2行目 質問文 q 質問文 q
#29 dkawahara様 P.107 4.2.4節 下から2行目 ベクトル使って ベクトルを使って
#31 dkawahara様 P.154 5.4.1節 最下行 文のベクトルを単一のベクトルに符号化します 文を単一のベクトルに符号化します
#32 krxross様 P.208 7.5.1節 5行目 ReLU関数は0の周辺で不連続に変化します ReLU関数の微分は0の周辺で不連続に変化します
#32 krxross様 P.208 7.5.1節 11行目 不連続な点をまたがないように 微分不可能な点をまたがないように
#33 tezoooka様 P.102 4.2.2節 上から2行目 内部情報とし扱います 内部情報として扱います
#35 taku-buntu様 P.14 参考2.2 最下段 期待があるのだと思いますの 期待があるのだと思います
#38 kamujun様 P.132 5.2.1節 test summarization challenge (TSC) text summarization challenge (TSC)
#20 1an9ua9e様 P.117 4.3.5節 eq4.61org eq4.61new
#25 murawaki様 p.102 4.2.2節 下から4行目 m_1, m_2 m_{o_1}, m_{o_2}
#39 Isa-rentacs様 P.202 アルゴリズム7.2 k = rN k = \lfloor rN \rfloor
#36 taku-buntu様 P.22 式2.29の右辺第二項
#15 ysekky様 P.92 式(4.3)の上の文 復号化器が $j$ 番目の単語を推定するときに,符号化器の $i$ 番目の状態ベクトル $\boldh^{\rm(s)}_i$ の重要度を示すスカラー値の重みを $a_i \in \mathbbR$ とします. 復号化器が $j$ 番目の単語を推定するときに,符号化器の $i$ 番目の状態ベクトル $\boldh^{\rm(s)}_i$ の重要度を示すスカラー値の重みを $a_{i,j} \in \mathbbR$ とします(以降では簡略化のため$a_i$).
#34 scapegoat06様 P.102 式(4.20)と直前の文 まず,入力情報変換では文(ここでは単語列とします)を $D$ 次元ベクトルに変換します. 様々な変換の方法が考えられますが,単純に埋め込みベクトルの和の形で変換します.
image (4.20)

次に,一般化では単純に新しい記憶情報を追加します. これは,知識源として入力された記憶情報を $\bm{m}_N$image と代入するだけです.
入力情報 $x$ は入力情報変換によって前処理などを施されて$I(x)$として扱います. 次に,一般化では単純に新しい記憶情報を追加します. これは,知識源として入力された記憶情報を以下のように代入することに相当します。
image (4.20) 

ただし,以降では単純な実装を想定し,入力 $x$ はそのままimageと代入するものとします.
#34 scapegoat06様 P.102-103 の x出現位置すべて x (bold) x
#41 f-okuya-pro8様 P.67 8行目 考てみます 考えてみます
#42 f-okuya-pro8様 P.187 8行目 精度の少ない 精度の低い
#43 f-okuya-pro8様 P.187 11行目 「狭まく 狭く
#44 f-okuya-pro8様 P.192 15,16行目 最大文長よりも大きい 最大文長以上の
#45 f-okuya-pro8様 P.204 10行目 連鎖率 連鎖律
#46 f-okuya-pro8様 P.207 7.5.1 2行目 後ろ処理 後ろ向き処理
#48 mamoruitoi様 P.18 式(2.19) 下文 $i \in \{1, \ldots, |{\cal D}|\}$ ${\rm n} \in \{1, \ldots, |{\cal D}|\}$ 第7刷
#49 totuta様 P.13 図2.1 $h_1^{\rm (l-1)}$ から $W_{12}^{\rm (l)}$ へ、 $h_2^{\rm (l-1)}$ から $W_{21}^{\rm (l)}$ へ矢印 $h_1^{\rm (l-1)}$ から $W_{21}^{\rm (l)}$ へ、 $h_2^{\rm (l-1)}$ から $W_{12}^{\rm (l)}$ へ矢印 第7刷

mlpnlp's People

Contributors

yuutat avatar unnonouno avatar

Stargazers

Eiji Miyamoto avatar  avatar bluetada avatar  avatar Yuri Mizushima avatar  avatar  avatar Ahmed Sabir  avatar Ryuya Ikeda avatar Minoru Mizutani avatar  avatar Ryota Tanaka avatar Masahiro Hiramori avatar Hikarivina avatar  avatar Trs avatar  avatar Kei Ohta avatar  avatar himkt avatar Masahiko Funaki avatar Ryuichi Yamamoto avatar Shunsuke KITADA avatar w.ktk0 avatar Keisuke Fukuda avatar 爱可可-爱生活 avatar Kazuhiro Serizawa avatar Ryoma Kawajiri avatar Hiroyuki Vincent Yamazaki avatar Masao Takaku avatar Shopetan avatar Kento Nozawa avatar Yamaguchi Takahiro avatar Akira Tamamori avatar Yuta Hayashibe avatar  avatar

Watchers

Masao Takaku avatar SAWADA Takahiro / Gugen Koubou LLC avatar James Cloos avatar  avatar  avatar Masahiko Funaki avatar  avatar  avatar  avatar  avatar

mlpnlp's Issues

p102の内部表現への変換の記述について

いつもお世話になっております。この本で勉強させてもらっています。

まず(4.20)ですが、ここではEは単語の埋め込み行列で, xは単語列中の単語(に対応するone-hotベクトル)であると思われますが、関数Iのdomainは文では無いでしょうか?関数Iの型がI :: [Char] -> R^Dという風に記述から読み取れますが、これではI :: Char -> R^Dのように見えます。
以下のような表記になるのでは無いかと思うのですが、どうでしょうか(N_sはs番目の文の長さです)。
2017-11-12 17 35 30

次にp102の上から3行目から、m_iはR^Dの元のはずですが(4.20)の下の、m_N <- xとあります。
ここで混乱しているのですが、xは何を指しているのでしょうか?
上で議論していた単語列中の単語(に対応するone-hotベクトル)であるならば、xがR^Dであることに関して言及されておらず、単語列そのものを指している(xではなくX)ならm_NにR^Dの元以外を代入しているため矛盾します。
I(X)であるならば、ここまでの議論では納得できますが、今度は(4.24)の関数sの定義で混乱が生じます。
というのも、関数\Phiは入力情報をD次元の特徴ベクトルに変換する関数とありますが、(4.21)や(4.22)では関数sの第二引数はm_iとなっているためすでにR^Dの元なので関数\Phiは恒等関数以外の解釈ができません。

また、(4.21)や(4.22)のも同じくxの代わりにXを使用するべきでは無いかと思います。

全体的にp102の上から3行目、m_iはR^Dの元という記述から混乱が生じているように思います。

p 14 誤植

p14の参考2.2内の最下段

誤:期待があるのだと思いますの
正:期待があるのだと思います

「の」が不要

3章 P_{model}(y_t^{(n)}, Y_{[a,t-1]}^{(n)}

式(3.14) が同時確率っぽい P_{model}(y_t^{(n)}, Y_{[a,t-1]}^{(n)} となっていて、
条件確率 P_{model}(y_t^{(n)} \mid Y_{[a,t-1]}^{(n)} となっていないことに理由はあるのでしょうか?

同時確率っぽい式は p.54, p.55 (式(3.15)) にも出てきます。

p102 誤植

上から2行目
語)内部情報とし扱います.
正)内部情報として扱います.

4刷です。

p.187 誤記

8行目「精度の少ない」→「精度の低い」

交差エントロピー誤差の説明について

P10の式(2.4)の2行下に交差エントロピーの式があります。これは、以下の通りではないでしょうか?
教科書:
codecogseqn
正解と思われる式
codecogseqn2

このようにすると、式(2.6)とも整合的です。
(私の誤りでしたら、すみません。)

P105 sementic -> semantic

P105 4.2.4項におきまして

意味記憶(sementic memory module) となっておりますが
意味記憶(semantic memory module) のtypoかと思われます。

細かいところ申し訳ありませんが、ご確認よろしくお願いいたします。

p.34 式(2.56)

式(2.56)のg_jは、j=iからではなく、j=i+1からではないでしょうか?

p.192 誤記

15〜16行目「最大文長よりも大きい」→「最大文長以上の」

復号化器再帰層の説明(第1刷 p.79)

(4) 復号化器再帰層 に続く「..復号化器埋め込み層の処理に対する入出力は以下のよう..」が、「..復号化器再帰層の処理に対する..」の誤植かと感じたのですが、どうでしょうか。

P.132 誤植

5.2.1 歴史的背景
誤)test summarization challenge
正)text summarization challenge

第2刷です。

p.100 誤記

p.100 4.2.1 2行目:「モデル考えます」→「モデルを考えます」

P.117 式(4.61)について

1刷ではブラックアウトの項目(P.117)の中の式(4.61)は以下のようになっています。
p117before
これは式(4.60)で示された対数尤度をパラメータθで微分して導かれているものですが、この微分の計算が間違っているため、式(4.61)も間違った式になってしまっていると思います。具体的に修正すると以下のような感じになると思います。
p117after

p.154 ベクトル化についての説明

p.154最下行において「文のベクトルを単一のベクトルに符号化します」とありますが、「文を単一のベクトルに符号化します」の方がよいでしょうか?

Chapter7 7.5.1微分計算のデバック p208 「不連続」

例題は、reluなので、不連続ではありません。
reluは、連続関数ですが、0で微分可能ではないです。

読む人は、困らない、細かい点ですが
「不連続な点をまたが無いようにテスト対象のデータを設計する必要があります。」とある部分の
不連続は、数学的に正確な表現ではないと思われます。

なので、不連続でも注意しなければならないですが
微分可能でないことも、注意する必要があります。

p.104 誤記

p.104 下から2行目:「質問文q」のqをboldに

p.18 式(2.19) 誤記

x(n)x(i)
y(n)→y(i)
こちらの理解が間違っていたら申し訳ありません……。

enhancement: bi-RNNの出力

2.6.2 では bi-RNN の前向き隠れ状態と後向き隠れ状態を concat して使っています。
一方 5.1.2 の機械翻訳の実装例では element-wise addition を行っています。
いま OpenNMT のソースを見ると、オプションで concat と sum (element-wise addition) を切り替えられるようになっていました。
https://github.com/OpenNMT/OpenNMT/blob/master/onmt/modules/BiEncoder.lua
昨今は concat の方が一般的ではないかと思います。
読んでいてちょっと引っかかるので、補足があると良さそうです。

P29の表記

p29の下の方にある
入力列全体(x1,x2・・・,Tx)は
入力列全体(x1,x2・・・,xTx)の誤りではないでしょうか?
(下付き文字はおそらく時刻なので)

式(4.4)と式(4.7)の列方向の連結

式(4.4)と式(4.7)の一番下ですが、最初の「本書で用いる記号」によれば、列方向の連結は「,」ではなく「;」ではないでしょうか。
(ざっと見た限り、列方向の連結はこの2ヵ所しかなさそうです。)

p22誤植

式2.29の右辺第二項

誤:
正:

p.70 1行目 誤記

1行目
P(H,y_{j}) ~ P^{D} → P((H,y_{j}) ~ P^{D})

こちらの理解が間違っていたら申し訳ありません…

P100 genelarization -> generalization

本書で勉強させていただいております。素晴らしい本を出版していただいたこと、お礼申し上げます。

表題の内容を第一刷で確認しました。
おそらくタイポではないかと思われます。ご報告させていただきます。

p.103 式(4.25)

p.103 式(4.25)の真ん中の項において、boldになっていないxをboldに

P.92の最終段落の記述

「ほとんど最初の3単語のみの情報」とありますが、「ほとんど3番目の入力単語のみの情報」でしょうか。
より正確には「ほとんど3番目の入力単語の情報とh_j^{(t)}(で出力を決める...)」だと思いますが、それは明らかかもしれません。

第3刷 P.202 アルゴリズム7.2 別名法による無作為抽出の方法

{f_1, ... , f_N} {a_1, ..., a_N}が与えられる
r ~ U(0,1)
k = rN
p = rN - k

とありますが、kは整数とされており、かつP.201の

この棒グラフ全体から等確率で1つを選択するということを行っています.

という点から、

k = ceil(rN)
p = rN - (k - 1)

ではないでしょうか。

p.107 誤記

p.107 下から2行目:「ベクトル使って」→「ベクトルを使って」

p.10の式(2.5)について

第1刷のsoftmax関数の分母に

\exp(o_y)

とありますが,これは

\exp(o_{\tilde{y}})

ではないでしょうか?

4章4.1.1の重み付き平均に関する表記について

本書で勉強させていただいております。素晴らしい本を出版していただいたこと、お礼申し上げます。

式4.3から一連の\bar{h}について,各単語ごとに違う重み付き平均ベクトルが用いられることを明確にするために\bar{h_j}と記載するほうが良いのではないかと思いました。

現状の表記では,すべてのjにたいして共通の\bar{h}が適用されるように解釈できてしまうと考えます。
それに関連して a_iもa_{i, j}、e_iもe_{i, j}として表記するほうが良いのではと思います。

このように変更した場合、以降も変更する必要がある点が多く、難しいかとは思いますが、ご検討いただければ幸いです。
以上よろしくお願いいたします。

p.40の記述

「... この仮定を時間ごとに異なるパラメータを使うモデルに比べてパラメータ数が減り、...」とありますが、「この仮定を」よりも、「この仮定により」ぐらいが適当ではないでしょうか。ちょっと自信がありませんが。

P102の一般化についての表記

P102の真ん中あたりの表記で
一般化での記憶情報の追加が
texclip20170821215441
と表記されていますが
追加されるのは入力文xではなくて入力情報変換されたI(x)なので、
texclip20170821215430
という表記が正しいのではないでしょうか?

P.70 3箇所 : Eq(3.24) , Eq(3.25) 及び文中の説明

「また,確率モデルの形式は,式(3.23)とまったく同じ形です」→ まったく同じ形ではないのでは?
P^D' =1 - P^D
なので、似た形式で書いたとしても

sigmoid

で\phiの前の符号が異なる。
これに伴い
(3.25)式第二項の指数の中の符号も変更する必要がある.

また(3.24)の式の第1項と第2項の符号は同一ではないか?
以下の式を- log取るだけに思える。

probability

もし上記の指摘が正しければ、
式(3.25)も同様に第1項と第2項の符号は同一になる。

冒頭で触れた箇所と合わせると式(3.25)第二項は以下のようになる

eq325

(訂正箇所強調)

p.67 誤記

8行目「考てみます」→「考えてみます」

P.146-148 図5.6-図5.8

応答復号化器の入力は最初の時刻(BOS)以外点線、出力は全て点線の箱で予測結果を入出力にしていることを示しているはずでしたが、全て実線となっていました。

figure5 6-5 8org-small

figure5 6-5 8new-small
のように修正いたします。

P.139の図

図中\tilde{y}_jは\tilde{y}'_j。

(パラメータ行列がEからE'に変わっていることに気づかず、nnlmの計算途中の\tilde{y}_jを持ってくるものだと誤解してしまった。)

P_jはp_j。

図中Y_{C,j}の意味は本文中などで特に説明されていない(読者が察することはできると思う)

P.166 図 6.3 「訓練データでの誤差」と「訓練データ以外での誤差」が逆

「訓練データでの誤差」と「訓練データ以外での誤差」が逆でした。
一般にパラメータ更新回数が増えるにしたがって「訓練データでの誤差」は下がり続けますが、「訓練データ以外での誤差」はどこかで増え始めます。

「訓練データでの誤差」(青線)「訓練データ以外での誤差」(黒線)

「開発データでの誤差」(青線)「訓練データでの誤差」(黒線)
に修正します。

p.24末尾の微分係数に関する記述について

p24末尾に,
「新しい関数の微分は以下のようにの微分に1を足したものになり必ず微分係数が1以上になります」
とありますが,
の微分」
が0以上になることは保証されているのでしょうか?

次のページで「は1に近い値になります」との記述との整合性が気になります.

p.207 誤記

7.5.1 2行目「後ろ処理」→「後ろ向き処理」

p.32 誤記

p.32 4行目:「対処できるます」→「対処できます」

式(4.35)の数式

式(4.35)が、

となっていますが、式(4.33)〜式(4.39)の一連の流れを見ると、

が正しそうです。

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.