らんだむな記憶

blogというものを体験してみようか!的なー

2021-12-05から1日間の記事一覧

詳解ディープラーニング 第2版 (10)

クエリ・キー・値もよく聞くがよく分からないやつだ。ちょっと雰囲気で読むと、ドット積 Attention をエンコーダの出力シーケンスに適用したものを素朴に抽象化すると\begin{align*} \mathrm{Attention}(Q, K, V) = \left[ \mathrm{softmax}(QK^T) \right] V…

詳解ディープラーニング 第2版 (9)

Transformer に入るにあたって式が整理される。式 (6.16)\begin{align*} a(\tau, t) = \mathrm{softmax}(g(\bm{h}_s(\tau), \bm{h}_t(t-1))) \end{align*}は式 (6.26) として\begin{align*} a = \mathrm{softmax}(\mathrm{score}(\bm{h}_s, \bm{h}_t)) \end{…

詳解ディープラーニング 第2版 (8)

Attention を可視化したいなと思ったので、ゼロつく 2 の visualize_attention.py を流用してみようと思う。そのために、6/layers/torch/Attention.py のほうも改造が必要である。 class Attention(nn.Module): def __init__(self, output_dim, hidden_dim, …

詳解ディープラーニング 第2版 (7)

6/layers/torch/Attention.py の実装を見てみたい。p.364 に Attention 層は式 (6.12) (6.13) (6.14) で見たスコア関数のどれを用いるかによってパラメータが変わってきますが、ここでは式 (6.13) を用いてみることにしましょう。 とあるので、\begin{align*…

einsum (2)

>>> a = np.arange(1,5).reshape(2,2) >>> a array([[1, 2], [3, 4]]) >>> b = np.arange(-5,-1).reshape(2,2) >>> b array([[-5, -4], [-3, -2]]) を使ったすこぶる分かりにくい挙動を見てみよう。 >>> np.einsum('ij,ij->ij', a, b) array([[-5, -8], [-9,…

einsum (1)

ここいらで {numpy,tf,torch}.einsum の動きを見ておきたい。手軽さの観点で numpy で見る。 >>> a = np.arange(1,3) >>> a array([1, 2]) の時、 >>> np.einsum('i,i', a,a) 5 である。これは、-> での行き先がないので、結果がスカラになるということで、\…

詳解ディープラーニング 第2版 (6)

数日経ってしまったが、6/06_attention_torch.py を K80 上で実行した。30 エポックで 22 分だった。 epoch: 30 loss: 1.670, val_loss: 3.57 > she doesn 't have any <unk> . = 彼女 に は 敵 は い な い 。 </s> < 彼女 は 数 に 無 い 。 </s> 。 </s> </s> </s> </s> </s> </s> </s> </s> </s> </s> </s> > she p…