{"version":2,"relationshipURLBase":"https://codingai-lec03.pages.dev/course/notebook-blocks/602b61f9e3954f0e93f1f4bed38e4bd4.html","relationshipResolution":"Resolve relative relationship URLs against relationshipURLBase; complete records and absolute URLs are in blocks.","title":"从概率到字典更新 · 实现代码","url":"https://codingai-lec03.pages.dev/course/notebook-blocks/602b61f9e3954f0e93f1f4bed38e4bd4.html","markdown":"https://codingai-lec03.pages.dev/course/notebook-blocks/602b61f9e3954f0e93f1f4bed38e4bd4.md","pages":[{"id":"reading-opening","title":"从概率到字典更新 · 实现代码","unit":"从概率到字典更新 · 实现代码","unitId":"notebook-blocks/602b61f9e3954f0e93f1f4bed38e4bd4","chapter":"course","number":1}],"aliases":[{"oldId":"b-90123d58401e514bccbad5f0","targetId":"b-90123d58401e514bccbad5f0","page":"reading-opening","operation":"move","beforeSHA256":"88a04c9ecb442ccaa48afb715979a4f7ec256d11b69e583a238c98ab9d60e977","afterSHA256":"88a04c9ecb442ccaa48afb715979a4f7ec256d11b69e583a238c98ab9d60e977","reason":"Same source body in authored semantic page"},{"oldId":"b-a87fce52742c1f3f2ccfa5f4","targetId":"b-a87fce52742c1f3f2ccfa5f4","page":"reading-opening","operation":"move","beforeSHA256":"f9d6a79b817be08f7b7a1a04e3245481aa714b40b1510a1d941ef5aae64d9865","afterSHA256":"f9d6a79b817be08f7b7a1a04e3245481aa714b40b1510a1d941ef5aae64d9865","reason":"Same source body in authored semantic page"},{"oldId":"b-51d16a9d5509f41bfe59b8e5","targetId":"b-51d16a9d5509f41bfe59b8e5","page":"reading-opening","operation":"move","beforeSHA256":"e91f24e4e4ca40e2099a0d81d30db6568f4bf2074b499eeee6e3959617bd97ac","afterSHA256":"e91f24e4e4ca40e2099a0d81d30db6568f4bf2074b499eeee6e3959617bd97ac","reason":"Same source body in authored semantic page"},{"oldId":"b-966a6de04825256d52420b5c","targetId":"b-966a6de04825256d52420b5c","page":"reading-opening","operation":"move","beforeSHA256":"2a269d38480454fbc554b17f926927738416555e36045ec5fe468ba056454f5d","afterSHA256":"2a269d38480454fbc554b17f926927738416555e36045ec5fe468ba056454f5d","reason":"Same source body in authored semantic page"},{"oldId":"b-1a32ec78e0ffe9d628eab1d0","targetId":"b-1a32ec78e0ffe9d628eab1d0","page":"reading-opening","operation":"move","beforeSHA256":"a5caae3b3a305961dde31b4b01c5e68de0d7cd19083584e0c621c43c86e4ee50","afterSHA256":"a5caae3b3a305961dde31b4b01c5e68de0d7cd19083584e0c621c43c86e4ee50","reason":"Same source body in authored semantic page"}],"blocks":[{"id":"b-90123d58401e514bccbad5f0","type":"p","scope":"document","url":"https://codingai-lec03.pages.dev/course/notebook-blocks/602b61f9e3954f0e93f1f4bed38e4bd4.html#b-90123d58401e514bccbad5f0","content":"[LAB 07 · MoCo：历史 key、队列与两种更新](/course/notebooks/0d1b8f6fbf6a476c93ffcc169f2ec1f4.html)","sha256":"88a04c9ecb442ccaa48afb715979a4f7ec256d11b69e583a238c98ab9d60e977","chapter":{"id":"course","title":"从概率到字典更新 · 实现代码"},"unit":{"id":"notebook-blocks/602b61f9e3954f0e93f1f4bed38e4bd4","title":"从概率到字典更新 · 实现代码"},"page":{"id":"reading-opening","title":"从概率到字典更新 · 实现代码","number":1},"sectionTitle":"从概率到字典更新 · 实现代码","currentQuestion":"从概率到字典更新 · 实现代码","sourceSlides":[],"knowledgeBlock":null,"formulas":[],"previousBlock":null,"nextBlock":"b-a87fce52742c1f3f2ccfa5f4","prerequisites":[],"relatedBlocks":[]},{"id":"b-a87fce52742c1f3f2ccfa5f4","type":"h1","scope":"document","url":"https://codingai-lec03.pages.dev/course/notebook-blocks/602b61f9e3954f0e93f1f4bed38e4bd4.html#b-a87fce52742c1f3f2ccfa5f4","content":"# 从概率到字典更新 · 实现代码","sha256":"f9d6a79b817be08f7b7a1a04e3245481aa714b40b1510a1d941ef5aae64d9865","chapter":{"id":"course","title":"从概率到字典更新 · 实现代码"},"unit":{"id":"notebook-blocks/602b61f9e3954f0e93f1f4bed38e4bd4","title":"从概率到字典更新 · 实现代码"},"page":{"id":"reading-opening","title":"从概率到字典更新 · 实现代码","number":1},"sectionTitle":"从概率到字典更新 · 实现代码","currentQuestion":"从概率到字典更新 · 实现代码","sourceSlides":[],"knowledgeBlock":null,"formulas":[],"previousBlock":"b-90123d58401e514bccbad5f0","nextBlock":"b-51d16a9d5509f41bfe59b8e5","prerequisites":[{"id":"b-90123d58401e514bccbad5f0","url":"#b-90123d58401e514bccbad5f0","role":"problem-context"}],"relatedBlocks":[]},{"id":"b-51d16a9d5509f41bfe59b8e5","type":"p","scope":"document","url":"https://codingai-lec03.pages.dev/course/notebook-blocks/602b61f9e3954f0e93f1f4bed38e4bd4.html#b-51d16a9d5509f41bfe59b8e5","content":"按问题继续","sha256":"e91f24e4e4ca40e2099a0d81d30db6568f4bf2074b499eeee6e3959617bd97ac","chapter":{"id":"course","title":"从概率到字典更新 · 实现代码"},"unit":{"id":"notebook-blocks/602b61f9e3954f0e93f1f4bed38e4bd4","title":"从概率到字典更新 · 实现代码"},"page":{"id":"reading-opening","title":"从概率到字典更新 · 实现代码","number":1},"sectionTitle":"从概率到字典更新 · 实现代码","currentQuestion":"从概率到字典更新 · 实现代码","sourceSlides":[],"knowledgeBlock":null,"formulas":[],"previousBlock":"b-a87fce52742c1f3f2ccfa5f4","nextBlock":"b-966a6de04825256d52420b5c","prerequisites":[{"id":"b-a87fce52742c1f3f2ccfa5f4","url":"#b-a87fce52742c1f3f2ccfa5f4","role":"section-title"},{"id":"b-90123d58401e514bccbad5f0","url":"#b-90123d58401e514bccbad5f0","role":"problem-context"}],"relatedBlocks":[]},{"id":"b-966a6de04825256d52420b5c","type":"p","scope":"document","url":"https://codingai-lec03.pages.dev/course/notebook-blocks/602b61f9e3954f0e93f1f4bed38e4bd4.html#b-966a6de04825256d52420b5c","content":"真实FIFO键、EMA、梯度更新及低于随机基线的保留结果","sha256":"2a269d38480454fbc554b17f926927738416555e36045ec5fe468ba056454f5d","chapter":{"id":"course","title":"从概率到字典更新 · 实现代码"},"unit":{"id":"notebook-blocks/602b61f9e3954f0e93f1f4bed38e4bd4","title":"从概率到字典更新 · 实现代码"},"page":{"id":"reading-opening","title":"从概率到字典更新 · 实现代码","number":1},"sectionTitle":"从概率到字典更新 · 实现代码","currentQuestion":"从概率到字典更新 · 实现代码","sourceSlides":[],"knowledgeBlock":null,"formulas":[],"previousBlock":"b-51d16a9d5509f41bfe59b8e5","nextBlock":"b-1a32ec78e0ffe9d628eab1d0","prerequisites":[{"id":"b-a87fce52742c1f3f2ccfa5f4","url":"#b-a87fce52742c1f3f2ccfa5f4","role":"section-title"},{"id":"b-90123d58401e514bccbad5f0","url":"#b-90123d58401e514bccbad5f0","role":"problem-context"}],"relatedBlocks":[]},{"id":"b-1a32ec78e0ffe9d628eab1d0","type":"pre","scope":"document","url":"https://codingai-lec03.pages.dev/course/notebook-blocks/602b61f9e3954f0e93f1f4bed38e4bd4.html#b-1a32ec78e0ffe9d628eab1d0","content":"```\nimport os, tempfile\nLAB_WORKDIR = tempfile.mkdtemp(prefix='lecture03-')\nos.chdir(LAB_WORKDIR)\nprint('Ephemeral experiment workspace ready')\nimport numpy as np\nq=np.array([1.,0.]); keys=np.array([[.8,.2],[0.,1.],[-1.,0.]])\nkeys=keys/np.linalg.norm(keys,axis=1,keepdims=True)\nfor T in [.1,.5]:\n s=keys@q/T; p=np.exp(s-s.max()); p/=p.sum(); print('T',T,'p',p.round(4))\nqueue=['a','b','c','d']; queue=(queue+['e','f'])[-4:]\ntk=np.array([0.,2.]); tq=np.array([2.,4.]); print('queue',queue,'EMA',(0.9*tk+0.1*tq))\n```","sha256":"a5caae3b3a305961dde31b4b01c5e68de0d7cd19083584e0c621c43c86e4ee50","chapter":{"id":"course","title":"从概率到字典更新 · 实现代码"},"unit":{"id":"notebook-blocks/602b61f9e3954f0e93f1f4bed38e4bd4","title":"从概率到字典更新 · 实现代码"},"page":{"id":"reading-opening","title":"从概率到字典更新 · 实现代码","number":1},"sectionTitle":"从概率到字典更新 · 实现代码","currentQuestion":"从概率到字典更新 · 实现代码","sourceSlides":[],"knowledgeBlock":null,"formulas":[],"previousBlock":"b-966a6de04825256d52420b5c","nextBlock":null,"prerequisites":[{"id":"b-a87fce52742c1f3f2ccfa5f4","url":"#b-a87fce52742c1f3f2ccfa5f4","role":"section-title"},{"id":"b-90123d58401e514bccbad5f0","url":"#b-90123d58401e514bccbad5f0","role":"problem-context"}],"relatedBlocks":[]}]}
