Rustでベイズ回帰

Df40b624b1532fd8b1b8190e1473840c?s=47 taku-y
May 27, 2019
370

 Rustでベイズ回帰

Df40b624b1532fd8b1b8190e1473840c?s=128

taku-y

May 27, 2019
Tweet

Transcript

  1. RustͰϕΠζճؼ 2019೥5݄27೔ɹRust LT #5 ٢Ԭ ୖ Laboro.AI ػցֶशΤϯδχΞ

  2. None
  3. • RustͰϕΠζਪఆ • ϕΠζਪఆͷࣗಈԽ • ϕΠζઢܗճؼͷ࣮૷ʢϢʔβଆɾϥΠϒϥϦଆʣ https://github.com/taku-y/dockerfiles/tree/master/learn-pp-rust ʢRustͷ࿅शͷͨΊʹ࡞੒ͨ͠΋ͷͰɺ࣮༻ʹ଱͑Δ΋ͷͰ͸શ͋͘Γ·ͤΜɻʣ

  4. RustͰϕΠζਪఆ • ϩϘοτʴ֬཰ϞσϦϯά • ෳࡶ͔ͭϊΠζ͕ଟ͍࣮؀ڥ • ༷ʑͳ֬཰Ϟσϧ΁ͷద༻ʢe.g., ඇઢܗϞσϧʣ

  5. ROS JUG #13 ҠಈϩϘοτษڧձ

  6. ϕΠζਪఆ fn bayes_inference(m:֬཰Ϟσϧ, d:σʔλ) -> ࣄޙ෼෍ ؍ଌ෼෍ ࣄલ෼෍ ࣄޙ෼෍ पล෼෍

    p(⇥|D) = p(D|⇥)p(⇥) p(D) : Ϟσϧύϥϝʔλ ⇥ : σʔλ D ֬཰Ϟσϧ ʹ ؍ଌ෼෍ʴࣄલ෼෍
  7. ྫɿϕΠζճؼϞσϧ ؍ଌ෼෍ɿ p(y|w, b, x) = N(y; wx + b,

    ) <latexit sha1_base64="yRKolEkL5tkWEZm4ihNViW1YVvs=">AAACPXicbVDLSgMxFM3UV62vUZdugkVosZQZERREKLpxJRX6gk4pmTTThmYeJBm1jPNjbvwHd+7cuFDErVvT6SjaeiHcw7nncHOPHTAqpGE8aZm5+YXFpexybmV1bX1D39xqCD/kmNSxz3zespEgjHqkLqlkpBVwglybkaY9PB/Pm9eEC+p7NTkKSMdFfY86FCOpqK5eCwqRZTtwFN8l/SYuJd2OSzABt3HxNLIwYvAy/paepNJUsP/jsATtu6jY1fNG2UgKzgIzBXmQVrWrP1o9H4cu8SRmSIi2aQSyEyEuKWYkzlmhIAHCQ9QnbQU95BLRiZLrY7inmB50fK6eJ2HC/nZEyBVi5NpK6SI5ENOzMfnfrB1K57gTUS8IJfHwZJETMih9OI4S9ignWLKRAghzqv4K8QBxhKUKPKdCMKdPngWNg7JplM2rw3zlLI0jC3bALigAExyBCrgAVVAHGNyDZ/AK3rQH7UV71z4m0oyWerbBn9I+vwDG0K27</latexit> <latexit sha1_base64="yRKolEkL5tkWEZm4ihNViW1YVvs=">AAACPXicbVDLSgMxFM3UV62vUZdugkVosZQZERREKLpxJRX6gk4pmTTThmYeJBm1jPNjbvwHd+7cuFDErVvT6SjaeiHcw7nncHOPHTAqpGE8aZm5+YXFpexybmV1bX1D39xqCD/kmNSxz3zespEgjHqkLqlkpBVwglybkaY9PB/Pm9eEC+p7NTkKSMdFfY86FCOpqK5eCwqRZTtwFN8l/SYuJd2OSzABt3HxNLIwYvAy/paepNJUsP/jsATtu6jY1fNG2UgKzgIzBXmQVrWrP1o9H4cu8SRmSIi2aQSyEyEuKWYkzlmhIAHCQ9QnbQU95BLRiZLrY7inmB50fK6eJ2HC/nZEyBVi5NpK6SI5ENOzMfnfrB1K57gTUS8IJfHwZJETMih9OI4S9ignWLKRAghzqv4K8QBxhKUKPKdCMKdPngWNg7JplM2rw3zlLI0jC3bALigAExyBCrgAVVAHGNyDZ/AK3rQH7UV71z4m0oyWerbBn9I+vwDG0K27</latexit> <latexit sha1_base64="yRKolEkL5tkWEZm4ihNViW1YVvs=">AAACPXicbVDLSgMxFM3UV62vUZdugkVosZQZERREKLpxJRX6gk4pmTTThmYeJBm1jPNjbvwHd+7cuFDErVvT6SjaeiHcw7nncHOPHTAqpGE8aZm5+YXFpexybmV1bX1D39xqCD/kmNSxz3zespEgjHqkLqlkpBVwglybkaY9PB/Pm9eEC+p7NTkKSMdFfY86FCOpqK5eCwqRZTtwFN8l/SYuJd2OSzABt3HxNLIwYvAy/paepNJUsP/jsATtu6jY1fNG2UgKzgIzBXmQVrWrP1o9H4cu8SRmSIi2aQSyEyEuKWYkzlmhIAHCQ9QnbQU95BLRiZLrY7inmB50fK6eJ2HC/nZEyBVi5NpK6SI5ENOzMfnfrB1K57gTUS8IJfHwZJETMih9OI4S9ignWLKRAghzqv4K8QBxhKUKPKdCMKdPngWNg7JplM2rw3zlLI0jC3bALigAExyBCrgAVVAHGNyDZ/AK3rQH7UV71z4m0oyWerbBn9I+vwDG0K27</latexit> <latexit sha1_base64="yRKolEkL5tkWEZm4ihNViW1YVvs=">AAACPXicbVDLSgMxFM3UV62vUZdugkVosZQZERREKLpxJRX6gk4pmTTThmYeJBm1jPNjbvwHd+7cuFDErVvT6SjaeiHcw7nncHOPHTAqpGE8aZm5+YXFpexybmV1bX1D39xqCD/kmNSxz3zespEgjHqkLqlkpBVwglybkaY9PB/Pm9eEC+p7NTkKSMdFfY86FCOpqK5eCwqRZTtwFN8l/SYuJd2OSzABt3HxNLIwYvAy/paepNJUsP/jsATtu6jY1fNG2UgKzgIzBXmQVrWrP1o9H4cu8SRmSIi2aQSyEyEuKWYkzlmhIAHCQ9QnbQU95BLRiZLrY7inmB50fK6eJ2HC/nZEyBVi5NpK6SI5ENOzMfnfrB1K57gTUS8IJfHwZJETMih9OI4S9ignWLKRAghzqv4K8QBxhKUKPKdCMKdPngWNg7JplM2rw3zlLI0jC3bALigAExyBCrgAVVAHGNyDZ/AK3rQH7UV71z4m0oyWerbBn9I+vwDG0K27</latexit> ࣄલ෼෍ɿ p(w, b) = N(w; 0, 1)N(b; 0, 1) <latexit sha1_base64="m3uvs6Zk1DHEkTDZIqqj+wk07K8=">AAACKnicbZDLSgMxFIYz9VbrbdSlm2ARWihlRgQFEapuXEkFe4HOUDJppg3NXEgyShnmedz4Km66UIpbH8R0OgXbeiDk5/vPITm/EzIqpGFMtNza+sbmVn67sLO7t3+gHx41RRBxTBo4YAFvO0gQRn3SkFQy0g45QZ7DSMsZ3k/91gvhggb+sxyFxPZQ36cuxUgq1NVvw1JsOS58TSrp7STlm9jCiMHHZO5cQ6MCzfIidua4qxeNqpEWXBVmJoogq3pXH1u9AEce8SVmSIiOaYTSjhGXFDOSFKxIkBDhIeqTjpI+8oiw43TVBJ4p0oNuwNXxJUzp34kYeUKMPEd1ekgOxLI3hf95nUi6V3ZM/TCSxMezh9yIQRnAaW6wRznBko2UQJhT9VeIB4gjLFW6BRWCubzyqmieV02jaj5dFGt3WRx5cAJOQQmY4BLUwAOogwbA4A18gE/wpb1rY22ifc9ac1o2cwwWSvv5BZSTo5c=</latexit> <latexit sha1_base64="m3uvs6Zk1DHEkTDZIqqj+wk07K8=">AAACKnicbZDLSgMxFIYz9VbrbdSlm2ARWihlRgQFEapuXEkFe4HOUDJppg3NXEgyShnmedz4Km66UIpbH8R0OgXbeiDk5/vPITm/EzIqpGFMtNza+sbmVn67sLO7t3+gHx41RRBxTBo4YAFvO0gQRn3SkFQy0g45QZ7DSMsZ3k/91gvhggb+sxyFxPZQ36cuxUgq1NVvw1JsOS58TSrp7STlm9jCiMHHZO5cQ6MCzfIidua4qxeNqpEWXBVmJoogq3pXH1u9AEce8SVmSIiOaYTSjhGXFDOSFKxIkBDhIeqTjpI+8oiw43TVBJ4p0oNuwNXxJUzp34kYeUKMPEd1ekgOxLI3hf95nUi6V3ZM/TCSxMezh9yIQRnAaW6wRznBko2UQJhT9VeIB4gjLFW6BRWCubzyqmieV02jaj5dFGt3WRx5cAJOQQmY4BLUwAOogwbA4A18gE/wpb1rY22ifc9ac1o2cwwWSvv5BZSTo5c=</latexit> <latexit sha1_base64="m3uvs6Zk1DHEkTDZIqqj+wk07K8=">AAACKnicbZDLSgMxFIYz9VbrbdSlm2ARWihlRgQFEapuXEkFe4HOUDJppg3NXEgyShnmedz4Km66UIpbH8R0OgXbeiDk5/vPITm/EzIqpGFMtNza+sbmVn67sLO7t3+gHx41RRBxTBo4YAFvO0gQRn3SkFQy0g45QZ7DSMsZ3k/91gvhggb+sxyFxPZQ36cuxUgq1NVvw1JsOS58TSrp7STlm9jCiMHHZO5cQ6MCzfIidua4qxeNqpEWXBVmJoogq3pXH1u9AEce8SVmSIiOaYTSjhGXFDOSFKxIkBDhIeqTjpI+8oiw43TVBJ4p0oNuwNXxJUzp34kYeUKMPEd1ekgOxLI3hf95nUi6V3ZM/TCSxMezh9yIQRnAaW6wRznBko2UQJhT9VeIB4gjLFW6BRWCubzyqmieV02jaj5dFGt3WRx5cAJOQQmY4BLUwAOogwbA4A18gE/wpb1rY22ifc9ac1o2cwwWSvv5BZSTo5c=</latexit> <latexit sha1_base64="hP+6LrUf2d3tZaldqaQQvEKMXyw=">AAAB2XicbZDNSgMxFIXv1L86Vq1rN8EiuCozbnQpuHFZwbZCO5RM5k4bmskMyR2hDH0BF25EfC93vo3pz0JbDwQ+zknIvSculLQUBN9ebWd3b/+gfugfNfzjk9Nmo2fz0gjsilzl5jnmFpXU2CVJCp8LgzyLFfbj6f0i77+gsTLXTzQrMMr4WMtUCk7O6oyaraAdLMW2IVxDC9YaNb+GSS7KDDUJxa0dhEFBUcUNSaFw7g9LiwUXUz7GgUPNM7RRtRxzzi6dk7A0N+5oYkv394uKZ9bOstjdzDhN7Ga2MP/LBiWlt1EldVESarH6KC0Vo5wtdmaJNChIzRxwYaSblYkJN1yQa8Z3HYSbG29D77odBu3wMYA6nMMFXEEIN3AHD9CBLghI4BXevYn35n2suqp569LO4I+8zx84xIo4</latexit> <latexit sha1_base64="qQwvVnEs7rWMl7xI2DykAy56hBM=">AAACH3icbZDLSgMxGIX/qbdaq45u3QSL0EIpM24URFDcuJIK9gKdUjJppg3NXEgyShnmedz4Km66UIovYzptwbYeCDl8JyH5jxtxJpVlTY3c1vbO7l5+v3BQPDw6Nk+KTRnGgtAGCXko2i6WlLOANhRTnLYjQbHvctpyRw+zvPVKhWRh8KLGEe36eBAwjxGsNOqZ91E5cVwPvaXVbHfTym3iEMzRU7pMbpBVRXZlFbtL3DNLVs3KhDaNvTAlWKjeMydOPySxTwNFOJayY1uR6iZYKEY4TQtOLGmEyQgPaEfbAPtUdpNs1BRdaNJHXij0ChTK6N8bCfalHPuuPuljNZTr2Qz+l3Vi5V13ExZEsaIBmT/kxRypEM16Q30mKFF8rA0mgum/IjLEAhOl2y3oEuz1kTdN87JmWzX72YI8nME5lMGGK7iDR6hDAwi8wyd8wbfxYUyM6byunLHo7RRWZPz8ApMRogI=</latexit> <latexit sha1_base64="qQwvVnEs7rWMl7xI2DykAy56hBM=">AAACH3icbZDLSgMxGIX/qbdaq45u3QSL0EIpM24URFDcuJIK9gKdUjJppg3NXEgyShnmedz4Km66UIovYzptwbYeCDl8JyH5jxtxJpVlTY3c1vbO7l5+v3BQPDw6Nk+KTRnGgtAGCXko2i6WlLOANhRTnLYjQbHvctpyRw+zvPVKhWRh8KLGEe36eBAwjxGsNOqZ91E5cVwPvaXVbHfTym3iEMzRU7pMbpBVRXZlFbtL3DNLVs3KhDaNvTAlWKjeMydOPySxTwNFOJayY1uR6iZYKEY4TQtOLGmEyQgPaEfbAPtUdpNs1BRdaNJHXij0ChTK6N8bCfalHPuuPuljNZTr2Qz+l3Vi5V13ExZEsaIBmT/kxRypEM16Q30mKFF8rA0mgum/IjLEAhOl2y3oEuz1kTdN87JmWzX72YI8nME5lMGGK7iDR6hDAwi8wyd8wbfxYUyM6byunLHo7RRWZPz8ApMRogI=</latexit> <latexit sha1_base64="3yIOEeiORCyI24Y1pkBDN7tPwgo=">AAACKnicbZDLSgMxFIYzXmu9jbp0EyxCC6Vk3CiIUHXjSirYC3SGkkkzbWjmQpJRyjDP48ZXcdOFUtz6IKbTFmzrgZCf7z+H5PxuxJlUCI2NtfWNza3t3E5+d2//4NA8Om7IMBaE1knIQ9FysaScBbSumOK0FQmKfZfTpju4n/jNFyokC4NnNYyo4+NewDxGsNKoY95GxcR2PfialrPbTUs3iU0wh4/p3LmGqAyt0iJ257hjFlAFZQVXhTUTBTCrWscc2d2QxD4NFOFYyraFIuUkWChGOE3zdixphMkA92hbywD7VDpJtmoKzzXpQi8U+gQKZvTvRIJ9KYe+qzt9rPpy2ZvA/7x2rLwrJ2FBFCsakOlDXsyhCuEkN9hlghLFh1pgIpj+KyR9LDBROt28DsFaXnlVNC4qFqpYT6hQvZvFkQOn4AwUgQUuQRU8gBqoAwLewAf4BF/GuzEyxsb3tHXNmM2cgIUyfn4Bk1Ojkw==</latexit> <latexit sha1_base64="m3uvs6Zk1DHEkTDZIqqj+wk07K8=">AAACKnicbZDLSgMxFIYz9VbrbdSlm2ARWihlRgQFEapuXEkFe4HOUDJppg3NXEgyShnmedz4Km66UIpbH8R0OgXbeiDk5/vPITm/EzIqpGFMtNza+sbmVn67sLO7t3+gHx41RRBxTBo4YAFvO0gQRn3SkFQy0g45QZ7DSMsZ3k/91gvhggb+sxyFxPZQ36cuxUgq1NVvw1JsOS58TSrp7STlm9jCiMHHZO5cQ6MCzfIidua4qxeNqpEWXBVmJoogq3pXH1u9AEce8SVmSIiOaYTSjhGXFDOSFKxIkBDhIeqTjpI+8oiw43TVBJ4p0oNuwNXxJUzp34kYeUKMPEd1ekgOxLI3hf95nUi6V3ZM/TCSxMezh9yIQRnAaW6wRznBko2UQJhT9VeIB4gjLFW6BRWCubzyqmieV02jaj5dFGt3WRx5cAJOQQmY4BLUwAOogwbA4A18gE/wpb1rY22ifc9ac1o2cwwWSvv5BZSTo5c=</latexit> <latexit sha1_base64="m3uvs6Zk1DHEkTDZIqqj+wk07K8=">AAACKnicbZDLSgMxFIYz9VbrbdSlm2ARWihlRgQFEapuXEkFe4HOUDJppg3NXEgyShnmedz4Km66UIpbH8R0OgXbeiDk5/vPITm/EzIqpGFMtNza+sbmVn67sLO7t3+gHx41RRBxTBo4YAFvO0gQRn3SkFQy0g45QZ7DSMsZ3k/91gvhggb+sxyFxPZQ36cuxUgq1NVvw1JsOS58TSrp7STlm9jCiMHHZO5cQ6MCzfIidua4qxeNqpEWXBVmJoogq3pXH1u9AEce8SVmSIiOaYTSjhGXFDOSFKxIkBDhIeqTjpI+8oiw43TVBJ4p0oNuwNXxJUzp34kYeUKMPEd1ekgOxLI3hf95nUi6V3ZM/TCSxMezh9yIQRnAaW6wRznBko2UQJhT9VeIB4gjLFW6BRWCubzyqmieV02jaj5dFGt3WRx5cAJOQQmY4BLUwAOogwbA4A18gE/wpb1rY22ifc9ac1o2cwwWSvv5BZSTo5c=</latexit> <latexit sha1_base64="m3uvs6Zk1DHEkTDZIqqj+wk07K8=">AAACKnicbZDLSgMxFIYz9VbrbdSlm2ARWihlRgQFEapuXEkFe4HOUDJppg3NXEgyShnmedz4Km66UIpbH8R0OgXbeiDk5/vPITm/EzIqpGFMtNza+sbmVn67sLO7t3+gHx41RRBxTBo4YAFvO0gQRn3SkFQy0g45QZ7DSMsZ3k/91gvhggb+sxyFxPZQ36cuxUgq1NVvw1JsOS58TSrp7STlm9jCiMHHZO5cQ6MCzfIidua4qxeNqpEWXBVmJoogq3pXH1u9AEce8SVmSIiOaYTSjhGXFDOSFKxIkBDhIeqTjpI+8oiw43TVBJ4p0oNuwNXxJUzp34kYeUKMPEd1ekgOxLI3hf95nUi6V3ZM/TCSxMezh9yIQRnAaW6wRznBko2UQJhT9VeIB4gjLFW6BRWCubzyqmieV02jaj5dFGt3WRx5cAJOQQmY4BLUwAOogwbA4A18gE/wpb1rY22ifc9ac1o2cwwWSvv5BZSTo5c=</latexit> <latexit sha1_base64="m3uvs6Zk1DHEkTDZIqqj+wk07K8=">AAACKnicbZDLSgMxFIYz9VbrbdSlm2ARWihlRgQFEapuXEkFe4HOUDJppg3NXEgyShnmedz4Km66UIpbH8R0OgXbeiDk5/vPITm/EzIqpGFMtNza+sbmVn67sLO7t3+gHx41RRBxTBo4YAFvO0gQRn3SkFQy0g45QZ7DSMsZ3k/91gvhggb+sxyFxPZQ36cuxUgq1NVvw1JsOS58TSrp7STlm9jCiMHHZO5cQ6MCzfIidua4qxeNqpEWXBVmJoogq3pXH1u9AEce8SVmSIiOaYTSjhGXFDOSFKxIkBDhIeqTjpI+8oiw43TVBJ4p0oNuwNXxJUzp34kYeUKMPEd1ekgOxLI3hf95nUi6V3ZM/TCSxMezh9yIQRnAaW6wRznBko2UQJhT9VeIB4gjLFW6BRWCubzyqmieV02jaj5dFGt3WRx5cAJOQQmY4BLUwAOogwbA4A18gE/wpb1rY22ifc9ac1o2cwwWSvv5BZSTo5c=</latexit> <latexit sha1_base64="m3uvs6Zk1DHEkTDZIqqj+wk07K8=">AAACKnicbZDLSgMxFIYz9VbrbdSlm2ARWihlRgQFEapuXEkFe4HOUDJppg3NXEgyShnmedz4Km66UIpbH8R0OgXbeiDk5/vPITm/EzIqpGFMtNza+sbmVn67sLO7t3+gHx41RRBxTBo4YAFvO0gQRn3SkFQy0g45QZ7DSMsZ3k/91gvhggb+sxyFxPZQ36cuxUgq1NVvw1JsOS58TSrp7STlm9jCiMHHZO5cQ6MCzfIidua4qxeNqpEWXBVmJoogq3pXH1u9AEce8SVmSIiOaYTSjhGXFDOSFKxIkBDhIeqTjpI+8oiw43TVBJ4p0oNuwNXxJUzp34kYeUKMPEd1ekgOxLI3hf95nUi6V3ZM/TCSxMezh9yIQRnAaW6wRznBko2UQJhT9VeIB4gjLFW6BRWCubzyqmieV02jaj5dFGt3WRx5cAJOQQmY4BLUwAOogwbA4A18gE/wpb1rY22ifc9ac1o2cwwWSvv5BZSTo5c=</latexit> <latexit sha1_base64="m3uvs6Zk1DHEkTDZIqqj+wk07K8=">AAACKnicbZDLSgMxFIYz9VbrbdSlm2ARWihlRgQFEapuXEkFe4HOUDJppg3NXEgyShnmedz4Km66UIpbH8R0OgXbeiDk5/vPITm/EzIqpGFMtNza+sbmVn67sLO7t3+gHx41RRBxTBo4YAFvO0gQRn3SkFQy0g45QZ7DSMsZ3k/91gvhggb+sxyFxPZQ36cuxUgq1NVvw1JsOS58TSrp7STlm9jCiMHHZO5cQ6MCzfIidua4qxeNqpEWXBVmJoogq3pXH1u9AEce8SVmSIiOaYTSjhGXFDOSFKxIkBDhIeqTjpI+8oiw43TVBJ4p0oNuwNXxJUzp34kYeUKMPEd1ekgOxLI3hf95nUi6V3ZM/TCSxMezh9yIQRnAaW6wRznBko2UQJhT9VeIB4gjLFW6BRWCubzyqmieV02jaj5dFGt3WRx5cAJOQQmY4BLUwAOogwbA4A18gE/wpb1rY22ifc9ac1o2cwwWSvv5BZSTo5c=</latexit> Ϟσϧύϥϝʔλɿ ⇥ = {w, b} <latexit sha1_base64="z/T74f1Jkyrsk7wshN6XYj3iTIE=">AAACE3icbZDJSgNBEIZ7XGPcoh69NIaAiIQZEfQiBL14jJANMiH0dGqSJj0L3TVKGOYdvPgqXjwo4tWLN9/GznLQxB8aPv7qoqp+L5ZCo21/W0vLK6tr67mN/ObW9s5uYW+/oaNEcajzSEaq5TENUoRQR4ESWrECFngSmt7wZlxv3oPSIgprOIqhE7B+KHzBGRqrWzhxawNARq+oK8FHN6Wp6/n0ITudgpdRV4n+AN2sWyjaZXsiugjODIpkpmq38OX2Ip4EECKXTOu2Y8fYSZlCwSVkeTfREDM+ZH1oGwxZALqTTm7KaMk4PepHyrwQ6cT93ZGyQOtRYPYrBQwHer42Nv+rtRP0LzupCOMEIeTTQX4iKUZ0HBDtCQUc5cgA40qYXSkfMMU4mhjzJgRn/uRFaJyVHbvs3J0XK9ezOHLkkByRY+KQC1Iht6RK6oSTR/JMXsmb9WS9WO/Wx/TrkjXrOSB/ZH3+AEwxnSw=</latexit> <latexit sha1_base64="z/T74f1Jkyrsk7wshN6XYj3iTIE=">AAACE3icbZDJSgNBEIZ7XGPcoh69NIaAiIQZEfQiBL14jJANMiH0dGqSJj0L3TVKGOYdvPgqXjwo4tWLN9/GznLQxB8aPv7qoqp+L5ZCo21/W0vLK6tr67mN/ObW9s5uYW+/oaNEcajzSEaq5TENUoRQR4ESWrECFngSmt7wZlxv3oPSIgprOIqhE7B+KHzBGRqrWzhxawNARq+oK8FHN6Wp6/n0ITudgpdRV4n+AN2sWyjaZXsiugjODIpkpmq38OX2Ip4EECKXTOu2Y8fYSZlCwSVkeTfREDM+ZH1oGwxZALqTTm7KaMk4PepHyrwQ6cT93ZGyQOtRYPYrBQwHer42Nv+rtRP0LzupCOMEIeTTQX4iKUZ0HBDtCQUc5cgA40qYXSkfMMU4mhjzJgRn/uRFaJyVHbvs3J0XK9ezOHLkkByRY+KQC1Iht6RK6oSTR/JMXsmb9WS9WO/Wx/TrkjXrOSB/ZH3+AEwxnSw=</latexit> <latexit sha1_base64="z/T74f1Jkyrsk7wshN6XYj3iTIE=">AAACE3icbZDJSgNBEIZ7XGPcoh69NIaAiIQZEfQiBL14jJANMiH0dGqSJj0L3TVKGOYdvPgqXjwo4tWLN9/GznLQxB8aPv7qoqp+L5ZCo21/W0vLK6tr67mN/ObW9s5uYW+/oaNEcajzSEaq5TENUoRQR4ESWrECFngSmt7wZlxv3oPSIgprOIqhE7B+KHzBGRqrWzhxawNARq+oK8FHN6Wp6/n0ITudgpdRV4n+AN2sWyjaZXsiugjODIpkpmq38OX2Ip4EECKXTOu2Y8fYSZlCwSVkeTfREDM+ZH1oGwxZALqTTm7KaMk4PepHyrwQ6cT93ZGyQOtRYPYrBQwHer42Nv+rtRP0LzupCOMEIeTTQX4iKUZ0HBDtCQUc5cgA40qYXSkfMMU4mhjzJgRn/uRFaJyVHbvs3J0XK9ezOHLkkByRY+KQC1Iht6RK6oSTR/JMXsmb9WS9WO/Wx/TrkjXrOSB/ZH3+AEwxnSw=</latexit> <latexit sha1_base64="z/T74f1Jkyrsk7wshN6XYj3iTIE=">AAACE3icbZDJSgNBEIZ7XGPcoh69NIaAiIQZEfQiBL14jJANMiH0dGqSJj0L3TVKGOYdvPgqXjwo4tWLN9/GznLQxB8aPv7qoqp+L5ZCo21/W0vLK6tr67mN/ObW9s5uYW+/oaNEcajzSEaq5TENUoRQR4ESWrECFngSmt7wZlxv3oPSIgprOIqhE7B+KHzBGRqrWzhxawNARq+oK8FHN6Wp6/n0ITudgpdRV4n+AN2sWyjaZXsiugjODIpkpmq38OX2Ip4EECKXTOu2Y8fYSZlCwSVkeTfREDM+ZH1oGwxZALqTTm7KaMk4PepHyrwQ6cT93ZGyQOtRYPYrBQwHer42Nv+rtRP0LzupCOMEIeTTQX4iKUZ0HBDtCQUc5cgA40qYXSkfMMU4mhjzJgRn/uRFaJyVHbvs3J0XK9ezOHLkkByRY+KQC1Iht6RK6oSTR/JMXsmb9WS9WO/Wx/TrkjXrOSB/ZH3+AEwxnSw=</latexit> D = {x, y} σʔλɿ ࣄޙ෼෍ɿ p(w, b|x, y) = p(y|w, b, x)p(w, b) p(y|x) <latexit sha1_base64="l4jevX8STKrLdwSKadfeWzOqLxk=">AAACZXicbVFbS8MwGE3rbVan3RRffDA4hA3GaEXQF2Hoi48T3AW2MdIs3cLSC0mqK13/pG+++uLfMOsK6uYHISfnOyeXEydkVEjL+tD0re2d3b3CvnFwWDw6NkvljggijkkbByzgPQcJwqhP2pJKRnohJ8hzGOk6s8dlv/tKuKCB/yLjkAw9NPGpSzGSihqZi7CaDBwXvqX1bHbSRTbP83Wc1u6NgcsRTgwIc3Gci35M9dxU29iuZqTGP9b5sjEyK1bDygpuAjsHFZBXa2S+D8YBjjziS8yQEH3bCuUwQVxSzEhqDCJBQoRnaEL6CvrII2KYZCml8EoxY+gGXA1fwoz97UiQJ0TsOUrpITkV670l+V+vH0n3bphQP4wk8fHqIDdiUAZwGTkcU06wZLECCHOq7grxFKlIpfoYQ4Vgrz95E3SuG7bVsJ9vKs2HPI4COAeXoApscAua4Am0QBtg8KkVtJJW1r70on6qn62kupZ7TsCf0i++AV74tO0=</latexit> <latexit sha1_base64="l4jevX8STKrLdwSKadfeWzOqLxk=">AAACZXicbVFbS8MwGE3rbVan3RRffDA4hA3GaEXQF2Hoi48T3AW2MdIs3cLSC0mqK13/pG+++uLfMOsK6uYHISfnOyeXEydkVEjL+tD0re2d3b3CvnFwWDw6NkvljggijkkbByzgPQcJwqhP2pJKRnohJ8hzGOk6s8dlv/tKuKCB/yLjkAw9NPGpSzGSihqZi7CaDBwXvqX1bHbSRTbP83Wc1u6NgcsRTgwIc3Gci35M9dxU29iuZqTGP9b5sjEyK1bDygpuAjsHFZBXa2S+D8YBjjziS8yQEH3bCuUwQVxSzEhqDCJBQoRnaEL6CvrII2KYZCml8EoxY+gGXA1fwoz97UiQJ0TsOUrpITkV670l+V+vH0n3bphQP4wk8fHqIDdiUAZwGTkcU06wZLECCHOq7grxFKlIpfoYQ4Vgrz95E3SuG7bVsJ9vKs2HPI4COAeXoApscAua4Am0QBtg8KkVtJJW1r70on6qn62kupZ7TsCf0i++AV74tO0=</latexit> <latexit sha1_base64="l4jevX8STKrLdwSKadfeWzOqLxk=">AAACZXicbVFbS8MwGE3rbVan3RRffDA4hA3GaEXQF2Hoi48T3AW2MdIs3cLSC0mqK13/pG+++uLfMOsK6uYHISfnOyeXEydkVEjL+tD0re2d3b3CvnFwWDw6NkvljggijkkbByzgPQcJwqhP2pJKRnohJ8hzGOk6s8dlv/tKuKCB/yLjkAw9NPGpSzGSihqZi7CaDBwXvqX1bHbSRTbP83Wc1u6NgcsRTgwIc3Gci35M9dxU29iuZqTGP9b5sjEyK1bDygpuAjsHFZBXa2S+D8YBjjziS8yQEH3bCuUwQVxSzEhqDCJBQoRnaEL6CvrII2KYZCml8EoxY+gGXA1fwoz97UiQJ0TsOUrpITkV670l+V+vH0n3bphQP4wk8fHqIDdiUAZwGTkcU06wZLECCHOq7grxFKlIpfoYQ4Vgrz95E3SuG7bVsJ9vKs2HPI4COAeXoApscAua4Am0QBtg8KkVtJJW1r70on6qn62kupZ7TsCf0i++AV74tO0=</latexit> <latexit sha1_base64="l4jevX8STKrLdwSKadfeWzOqLxk=">AAACZXicbVFbS8MwGE3rbVan3RRffDA4hA3GaEXQF2Hoi48T3AW2MdIs3cLSC0mqK13/pG+++uLfMOsK6uYHISfnOyeXEydkVEjL+tD0re2d3b3CvnFwWDw6NkvljggijkkbByzgPQcJwqhP2pJKRnohJ8hzGOk6s8dlv/tKuKCB/yLjkAw9NPGpSzGSihqZi7CaDBwXvqX1bHbSRTbP83Wc1u6NgcsRTgwIc3Gci35M9dxU29iuZqTGP9b5sjEyK1bDygpuAjsHFZBXa2S+D8YBjjziS8yQEH3bCuUwQVxSzEhqDCJBQoRnaEL6CvrII2KYZCml8EoxY+gGXA1fwoz97UiQJ0TsOUrpITkV670l+V+vH0n3bphQP4wk8fHqIDdiUAZwGTkcU06wZLECCHOq7grxFKlIpfoYQ4Vgrz95E3SuG7bVsJ9vKs2HPI4COAeXoApscAua4Am0QBtg8KkVtJJW1r70on6qn62kupZ7TsCf0i++AV74tO0=</latexit>
  8. ϕΠζਪఆͷࣗಈԽ ܭࢉ͕େมͳͷͰࣗಈԽ͍ͨ͠ MCMC • αϯϓϦϯάͷ܁Γฦ͠ɺਅͷղ͕ಘΒΕΔ͕ܭࢉྔ ͕େ͖͍ ࣗಈม෼ϕΠζʢADVIʣ • ໨తؔ਺࠷దԽʢσΟʔϓϥʔχϯάʢDLʣͱಉ ͡ʣɺۙࣅղ͕ͩMCMCͱൺ΂ͯܭࢉྔ͕খ͍͞

  9. ADVIͷ໨తؔ਺ɿELBO ۙࣅ෼෍ ʢύϥϝʔλɹʣ <latexit sha1_base64="17uENeVNbGzAf0rC1EQQVr4Zn7Q=">AAAB63icbVA9SwNBEJ2LXzF+RS1tFoNgFe5E0DJoYxnBxEByhL3NJFmyu3fs7gnhyF+wsVDE1j9k579xL7lCEx8MPN6bYWZelAhurO9/e6W19Y3NrfJ2ZWd3b/+genjUNnGqGbZYLGLdiahBwRW2LLcCO4lGKiOBj9HkNvcfn1AbHqsHO00wlHSk+JAzanOplxjer9b8uj8HWSVBQWpQoNmvfvUGMUslKssENaYb+IkNM6otZwJnlV5qMKFsQkfYdVRRiSbM5rfOyJlTBmQYa1fKkrn6eyKj0pipjFynpHZslr1c/M/rpnZ4HWZcJalFxRaLhqkgNib542TANTIrpo5Qprm7lbAx1ZRZF0/FhRAsv7xK2hf1wK8H95e1xk0RRxlO4BTOIYAraMAdNKEFDMbwDK/w5knvxXv3PhatJa+YOYY/8D5/ACQ/jko=</latexit> <latexit sha1_base64="17uENeVNbGzAf0rC1EQQVr4Zn7Q=">AAAB63icbVA9SwNBEJ2LXzF+RS1tFoNgFe5E0DJoYxnBxEByhL3NJFmyu3fs7gnhyF+wsVDE1j9k579xL7lCEx8MPN6bYWZelAhurO9/e6W19Y3NrfJ2ZWd3b/+genjUNnGqGbZYLGLdiahBwRW2LLcCO4lGKiOBj9HkNvcfn1AbHqsHO00wlHSk+JAzanOplxjer9b8uj8HWSVBQWpQoNmvfvUGMUslKssENaYb+IkNM6otZwJnlV5qMKFsQkfYdVRRiSbM5rfOyJlTBmQYa1fKkrn6eyKj0pipjFynpHZslr1c/M/rpnZ4HWZcJalFxRaLhqkgNib542TANTIrpo5Qprm7lbAx1ZRZF0/FhRAsv7xK2hf1wK8H95e1xk0RRxlO4BTOIYAraMAdNKEFDMbwDK/w5knvxXv3PhatJa+YOYY/8D5/ACQ/jko=</latexit> <latexit sha1_base64="17uENeVNbGzAf0rC1EQQVr4Zn7Q=">AAAB63icbVA9SwNBEJ2LXzF+RS1tFoNgFe5E0DJoYxnBxEByhL3NJFmyu3fs7gnhyF+wsVDE1j9k579xL7lCEx8MPN6bYWZelAhurO9/e6W19Y3NrfJ2ZWd3b/+genjUNnGqGbZYLGLdiahBwRW2LLcCO4lGKiOBj9HkNvcfn1AbHqsHO00wlHSk+JAzanOplxjer9b8uj8HWSVBQWpQoNmvfvUGMUslKssENaYb+IkNM6otZwJnlV5qMKFsQkfYdVRRiSbM5rfOyJlTBmQYa1fKkrn6eyKj0pipjFynpHZslr1c/M/rpnZ4HWZcJalFxRaLhqkgNib542TANTIrpo5Qprm7lbAx1ZRZF0/FhRAsv7xK2hf1wK8H95e1xk0RRxlO4BTOIYAraMAdNKEFDMbwDK/w5knvxXv3PhatJa+YOYY/8D5/ACQ/jko=</latexit> <latexit

    sha1_base64="17uENeVNbGzAf0rC1EQQVr4Zn7Q=">AAAB63icbVA9SwNBEJ2LXzF+RS1tFoNgFe5E0DJoYxnBxEByhL3NJFmyu3fs7gnhyF+wsVDE1j9k579xL7lCEx8MPN6bYWZelAhurO9/e6W19Y3NrfJ2ZWd3b/+genjUNnGqGbZYLGLdiahBwRW2LLcCO4lGKiOBj9HkNvcfn1AbHqsHO00wlHSk+JAzanOplxjer9b8uj8HWSVBQWpQoNmvfvUGMUslKssENaYb+IkNM6otZwJnlV5qMKFsQkfYdVRRiSbM5rfOyJlTBmQYa1fKkrn6eyKj0pipjFynpHZslr1c/M/rpnZ4HWZcJalFxRaLhqkgNib542TANTIrpo5Qprm7lbAx1ZRZF0/FhRAsv7xK2hf1wK8H95e1xk0RRxlO4BTOIYAraMAdNKEFDMbwDK/w5knvxXv3PhatJa+YOYY/8D5/ACQ/jko=</latexit> ELBO( ) = Eq (⇥) [log p(D, ⇥) log q (⇥)] <latexit sha1_base64="MRNeg9NDPlPSE7GPryHo1GkZ1IU=">AAACRnicbVBNS9xAGH6ztn6s1m7t0cvgIqzQLkkR9FIQq9BDoQquCpsQJrNvdgcnH868EZaQX+elZ2/9Cb30UJFeO9lNoVVfGObh+eCdeaJcSUOu+91pLbx4ubi0vNJeXXu1/rrzZuPcZIUWOBCZyvRlxA0qmeKAJCm8zDXyJFJ4EV19qvWLG9RGZukZTXMMEj5OZSwFJ0uFneD4y+HXnp8bufPxOCyvwxr2/LMJEt+pmK8wpiGzdzZmea/0BVfsqHrXGNj7uXIdlnWu+htkvpbjCQVhp+v23dmwp8BrQBeaOQk7d/4oE0WCKQnFjRl6bk5ByTVJobBq+4XBnIsrPsahhSlP0ATlrIaKbVtmxOJM25MSm7H/JkqeGDNNIutMOE3MY60mn9OGBcX7QSnTvCBMxXxRXChGGas7ZSOpUZCaWsCFlvatTEy45oJs821bgvf4y0/B+Ye+5/a9093uwWFTxzJswhb0wIM9OIDPcAIDEHALP+AX3DvfnJ/Og/N7bm05TeYt/Dct+AMeka85</latexit> <latexit sha1_base64="MRNeg9NDPlPSE7GPryHo1GkZ1IU=">AAACRnicbVBNS9xAGH6ztn6s1m7t0cvgIqzQLkkR9FIQq9BDoQquCpsQJrNvdgcnH868EZaQX+elZ2/9Cb30UJFeO9lNoVVfGObh+eCdeaJcSUOu+91pLbx4ubi0vNJeXXu1/rrzZuPcZIUWOBCZyvRlxA0qmeKAJCm8zDXyJFJ4EV19qvWLG9RGZukZTXMMEj5OZSwFJ0uFneD4y+HXnp8bufPxOCyvwxr2/LMJEt+pmK8wpiGzdzZmea/0BVfsqHrXGNj7uXIdlnWu+htkvpbjCQVhp+v23dmwp8BrQBeaOQk7d/4oE0WCKQnFjRl6bk5ByTVJobBq+4XBnIsrPsahhSlP0ATlrIaKbVtmxOJM25MSm7H/JkqeGDNNIutMOE3MY60mn9OGBcX7QSnTvCBMxXxRXChGGas7ZSOpUZCaWsCFlvatTEy45oJs821bgvf4y0/B+Ye+5/a9093uwWFTxzJswhb0wIM9OIDPcAIDEHALP+AX3DvfnJ/Og/N7bm05TeYt/Dct+AMeka85</latexit> <latexit sha1_base64="MRNeg9NDPlPSE7GPryHo1GkZ1IU=">AAACRnicbVBNS9xAGH6ztn6s1m7t0cvgIqzQLkkR9FIQq9BDoQquCpsQJrNvdgcnH868EZaQX+elZ2/9Cb30UJFeO9lNoVVfGObh+eCdeaJcSUOu+91pLbx4ubi0vNJeXXu1/rrzZuPcZIUWOBCZyvRlxA0qmeKAJCm8zDXyJFJ4EV19qvWLG9RGZukZTXMMEj5OZSwFJ0uFneD4y+HXnp8bufPxOCyvwxr2/LMJEt+pmK8wpiGzdzZmea/0BVfsqHrXGNj7uXIdlnWu+htkvpbjCQVhp+v23dmwp8BrQBeaOQk7d/4oE0WCKQnFjRl6bk5ByTVJobBq+4XBnIsrPsahhSlP0ATlrIaKbVtmxOJM25MSm7H/JkqeGDNNIutMOE3MY60mn9OGBcX7QSnTvCBMxXxRXChGGas7ZSOpUZCaWsCFlvatTEy45oJs821bgvf4y0/B+Ye+5/a9093uwWFTxzJswhb0wIM9OIDPcAIDEHALP+AX3DvfnJ/Og/N7bm05TeYt/Dct+AMeka85</latexit> <latexit sha1_base64="MRNeg9NDPlPSE7GPryHo1GkZ1IU=">AAACRnicbVBNS9xAGH6ztn6s1m7t0cvgIqzQLkkR9FIQq9BDoQquCpsQJrNvdgcnH868EZaQX+elZ2/9Cb30UJFeO9lNoVVfGObh+eCdeaJcSUOu+91pLbx4ubi0vNJeXXu1/rrzZuPcZIUWOBCZyvRlxA0qmeKAJCm8zDXyJFJ4EV19qvWLG9RGZukZTXMMEj5OZSwFJ0uFneD4y+HXnp8bufPxOCyvwxr2/LMJEt+pmK8wpiGzdzZmea/0BVfsqHrXGNj7uXIdlnWu+htkvpbjCQVhp+v23dmwp8BrQBeaOQk7d/4oE0WCKQnFjRl6bk5ByTVJobBq+4XBnIsrPsahhSlP0ATlrIaKbVtmxOJM25MSm7H/JkqeGDNNIutMOE3MY60mn9OGBcX7QSnTvCBMxXxRXChGGas7ZSOpUZCaWsCFlvatTEy45oJs821bgvf4y0/B+Ye+5/a9093uwWFTxzJswhb0wIM9OIDPcAIDEHALP+AX3DvfnJ/Og/N7bm05TeYt/Dct+AMeka85</latexit> ͱ ͷڑ཭ p(⇥|D) <latexit sha1_base64="7rq4LEpoe4aY55fhWThmgIqP9b8=">AAAB/XicbVDLSsNAFJ34rPUVHzs3g0Wom5KIoMuiLlxW6AuaUG6m03boZBJmJkKNwV9x40IRt/6HO//GaZuFth64cDjnXu69J4g5U9pxvq2l5ZXVtfXCRnFza3tn197bb6ookYQ2SMQj2Q5AUc4EbWimOW3HkkIYcNoKRtcTv3VPpWKRqOtxTP0QBoL1GQFtpK59GJdTrz6kGrLH1CPA8U122rVLTsWZAi8SNycllKPWtb+8XkSSkApNOCjVcZ1Y+ylIzQinWdFLFI2BjGBAO4YKCKny0+n1GT4xSg/3I2lKaDxVf0+kECo1DgPTGYIeqnlvIv7ndRLdv/RTJuJEU0Fmi/oJxzrCkyhwj0lKNB8bAkQycysmQ5BAtAmsaEJw519eJM2ziutU3LvzUvUqj6OAjtAxKiMXXaAqukU11EAEPaBn9IrerCfrxXq3PmatS1Y+c4D+wPr8AfVClOI=</latexit> <latexit sha1_base64="7rq4LEpoe4aY55fhWThmgIqP9b8=">AAAB/XicbVDLSsNAFJ34rPUVHzs3g0Wom5KIoMuiLlxW6AuaUG6m03boZBJmJkKNwV9x40IRt/6HO//GaZuFth64cDjnXu69J4g5U9pxvq2l5ZXVtfXCRnFza3tn197bb6ookYQ2SMQj2Q5AUc4EbWimOW3HkkIYcNoKRtcTv3VPpWKRqOtxTP0QBoL1GQFtpK59GJdTrz6kGrLH1CPA8U122rVLTsWZAi8SNycllKPWtb+8XkSSkApNOCjVcZ1Y+ylIzQinWdFLFI2BjGBAO4YKCKny0+n1GT4xSg/3I2lKaDxVf0+kECo1DgPTGYIeqnlvIv7ndRLdv/RTJuJEU0Fmi/oJxzrCkyhwj0lKNB8bAkQycysmQ5BAtAmsaEJw519eJM2ziutU3LvzUvUqj6OAjtAxKiMXXaAqukU11EAEPaBn9IrerCfrxXq3PmatS1Y+c4D+wPr8AfVClOI=</latexit> <latexit sha1_base64="7rq4LEpoe4aY55fhWThmgIqP9b8=">AAAB/XicbVDLSsNAFJ34rPUVHzs3g0Wom5KIoMuiLlxW6AuaUG6m03boZBJmJkKNwV9x40IRt/6HO//GaZuFth64cDjnXu69J4g5U9pxvq2l5ZXVtfXCRnFza3tn197bb6ookYQ2SMQj2Q5AUc4EbWimOW3HkkIYcNoKRtcTv3VPpWKRqOtxTP0QBoL1GQFtpK59GJdTrz6kGrLH1CPA8U122rVLTsWZAi8SNycllKPWtb+8XkSSkApNOCjVcZ1Y+ylIzQinWdFLFI2BjGBAO4YKCKny0+n1GT4xSg/3I2lKaDxVf0+kECo1DgPTGYIeqnlvIv7ndRLdv/RTJuJEU0Fmi/oJxzrCkyhwj0lKNB8bAkQycysmQ5BAtAmsaEJw519eJM2ziutU3LvzUvUqj6OAjtAxKiMXXaAqukU11EAEPaBn9IrerCfrxXq3PmatS1Y+c4D+wPr8AfVClOI=</latexit> <latexit sha1_base64="hP+6LrUf2d3tZaldqaQQvEKMXyw=">AAAB2XicbZDNSgMxFIXv1L86Vq1rN8EiuCozbnQpuHFZwbZCO5RM5k4bmskMyR2hDH0BF25EfC93vo3pz0JbDwQ+zknIvSculLQUBN9ebWd3b/+gfugfNfzjk9Nmo2fz0gjsilzl5jnmFpXU2CVJCp8LgzyLFfbj6f0i77+gsTLXTzQrMMr4WMtUCk7O6oyaraAdLMW2IVxDC9YaNb+GSS7KDDUJxa0dhEFBUcUNSaFw7g9LiwUXUz7GgUPNM7RRtRxzzi6dk7A0N+5oYkv394uKZ9bOstjdzDhN7Ga2MP/LBiWlt1EldVESarH6KC0Vo5wtdmaJNChIzRxwYaSblYkJN1yQa8Z3HYSbG29D77odBu3wMYA6nMMFXEEIN3AHD9CBLghI4BXevYn35n2suqp569LO4I+8zx84xIo4</latexit> <latexit sha1_base64="EX6w8SpM9QPT+VuI58CpEIW9BTs=">AAAB8nicbZBLSwMxFIXv+Ky16iju3ASLUDdlxo0uBV24rNAXdIaSSTNtaOZBckeo4+BfceNCEX+MO/+N6WOhrQcCH+ck3JsTpFJodJxva219Y3Nru7RT3q3s7R/Yh5W2TjLFeIslMlHdgGouRcxbKFDybqo4jQLJO8H4Zpp3HrjSIombOEm5H9FhLELBKBqrbx+ntdxrjjjS4in3GJXktjjv21Wn7sxEVsFdQBUWavTtL2+QsCziMTJJte65Top+ThUKJnlR9jLNU8rGdMh7BmMace3ns+0LcmacAQkTZU6MZOb+fpHTSOtJFJibEcWRXs6m5n9ZL8Pwys9FnGbIYzYfFGaSYEKmVZCBUJyhnBigTAmzK2EjqihDU1jZlOAuf3kV2hd116m79w6U4AROoQYuXMI13EEDWsDgEV7gDd6tZ+vV+pjXtWYtejuCP7I+fwCNgJN6</latexit> <latexit sha1_base64="EX6w8SpM9QPT+VuI58CpEIW9BTs=">AAAB8nicbZBLSwMxFIXv+Ky16iju3ASLUDdlxo0uBV24rNAXdIaSSTNtaOZBckeo4+BfceNCEX+MO/+N6WOhrQcCH+ck3JsTpFJodJxva219Y3Nru7RT3q3s7R/Yh5W2TjLFeIslMlHdgGouRcxbKFDybqo4jQLJO8H4Zpp3HrjSIombOEm5H9FhLELBKBqrbx+ntdxrjjjS4in3GJXktjjv21Wn7sxEVsFdQBUWavTtL2+QsCziMTJJte65Top+ThUKJnlR9jLNU8rGdMh7BmMace3ns+0LcmacAQkTZU6MZOb+fpHTSOtJFJibEcWRXs6m5n9ZL8Pwys9FnGbIYzYfFGaSYEKmVZCBUJyhnBigTAmzK2EjqihDU1jZlOAuf3kV2hd116m79w6U4AROoQYuXMI13EEDWsDgEV7gDd6tZ+vV+pjXtWYtejuCP7I+fwCNgJN6</latexit> <latexit sha1_base64="UhunEndGnLfctIelnrtUjOrkjgo=">AAAB/XicbVDLSsNAFJ3UV62v+Ni5GSxC3ZTEjS6LunBZoS9oQ7mZTtqhk0mYmQg1Bn/FjQtF3Pof7vwbp20W2nrgwuGce7n3Hj/mTGnH+bYKK6tr6xvFzdLW9s7unr1/0FJRIgltkohHsuODopwJ2tRMc9qJJYXQ57Ttj6+nfvueSsUi0dCTmHohDAULGAFtpL59FFfSXmNENWSPaY8AxzfZWd8uO1VnBrxM3JyUUY563/7qDSKShFRowkGpruvE2ktBakY4zUq9RNEYyBiGtGuogJAqL51dn+FTowxwEElTQuOZ+nsihVCpSeibzhD0SC16U/E/r5vo4NJLmYgTTQWZLwoSjnWEp1HgAZOUaD4xBIhk5lZMRiCBaBNYyYTgLr68TFrnVdepundOuXaVx1FEx+gEVZCLLlAN3aI6aiKCHtAzekVv1pP1Yr1bH/PWgpXPHKI/sD5/APQClN4=</latexit> <latexit sha1_base64="7rq4LEpoe4aY55fhWThmgIqP9b8=">AAAB/XicbVDLSsNAFJ34rPUVHzs3g0Wom5KIoMuiLlxW6AuaUG6m03boZBJmJkKNwV9x40IRt/6HO//GaZuFth64cDjnXu69J4g5U9pxvq2l5ZXVtfXCRnFza3tn197bb6ookYQ2SMQj2Q5AUc4EbWimOW3HkkIYcNoKRtcTv3VPpWKRqOtxTP0QBoL1GQFtpK59GJdTrz6kGrLH1CPA8U122rVLTsWZAi8SNycllKPWtb+8XkSSkApNOCjVcZ1Y+ylIzQinWdFLFI2BjGBAO4YKCKny0+n1GT4xSg/3I2lKaDxVf0+kECo1DgPTGYIeqnlvIv7ndRLdv/RTJuJEU0Fmi/oJxzrCkyhwj0lKNB8bAkQycysmQ5BAtAmsaEJw519eJM2ziutU3LvzUvUqj6OAjtAxKiMXXaAqukU11EAEPaBn9IrerCfrxXq3PmatS1Y+c4D+wPr8AfVClOI=</latexit> <latexit sha1_base64="7rq4LEpoe4aY55fhWThmgIqP9b8=">AAAB/XicbVDLSsNAFJ34rPUVHzs3g0Wom5KIoMuiLlxW6AuaUG6m03boZBJmJkKNwV9x40IRt/6HO//GaZuFth64cDjnXu69J4g5U9pxvq2l5ZXVtfXCRnFza3tn197bb6ookYQ2SMQj2Q5AUc4EbWimOW3HkkIYcNoKRtcTv3VPpWKRqOtxTP0QBoL1GQFtpK59GJdTrz6kGrLH1CPA8U122rVLTsWZAi8SNycllKPWtb+8XkSSkApNOCjVcZ1Y+ylIzQinWdFLFI2BjGBAO4YKCKny0+n1GT4xSg/3I2lKaDxVf0+kECo1DgPTGYIeqnlvIv7ndRLdv/RTJuJEU0Fmi/oJxzrCkyhwj0lKNB8bAkQycysmQ5BAtAmsaEJw519eJM2ziutU3LvzUvUqj6OAjtAxKiMXXaAqukU11EAEPaBn9IrerCfrxXq3PmatS1Y+c4D+wPr8AfVClOI=</latexit> <latexit sha1_base64="7rq4LEpoe4aY55fhWThmgIqP9b8=">AAAB/XicbVDLSsNAFJ34rPUVHzs3g0Wom5KIoMuiLlxW6AuaUG6m03boZBJmJkKNwV9x40IRt/6HO//GaZuFth64cDjnXu69J4g5U9pxvq2l5ZXVtfXCRnFza3tn197bb6ookYQ2SMQj2Q5AUc4EbWimOW3HkkIYcNoKRtcTv3VPpWKRqOtxTP0QBoL1GQFtpK59GJdTrz6kGrLH1CPA8U122rVLTsWZAi8SNycllKPWtb+8XkSSkApNOCjVcZ1Y+ylIzQinWdFLFI2BjGBAO4YKCKny0+n1GT4xSg/3I2lKaDxVf0+kECo1DgPTGYIeqnlvIv7ndRLdv/RTJuJEU0Fmi/oJxzrCkyhwj0lKNB8bAkQycysmQ5BAtAmsaEJw519eJM2ziutU3LvzUvUqj6OAjtAxKiMXXaAqukU11EAEPaBn9IrerCfrxXq3PmatS1Y+c4D+wPr8AfVClOI=</latexit> <latexit sha1_base64="7rq4LEpoe4aY55fhWThmgIqP9b8=">AAAB/XicbVDLSsNAFJ34rPUVHzs3g0Wom5KIoMuiLlxW6AuaUG6m03boZBJmJkKNwV9x40IRt/6HO//GaZuFth64cDjnXu69J4g5U9pxvq2l5ZXVtfXCRnFza3tn197bb6ookYQ2SMQj2Q5AUc4EbWimOW3HkkIYcNoKRtcTv3VPpWKRqOtxTP0QBoL1GQFtpK59GJdTrz6kGrLH1CPA8U122rVLTsWZAi8SNycllKPWtb+8XkSSkApNOCjVcZ1Y+ylIzQinWdFLFI2BjGBAO4YKCKny0+n1GT4xSg/3I2lKaDxVf0+kECo1DgPTGYIeqnlvIv7ndRLdv/RTJuJEU0Fmi/oJxzrCkyhwj0lKNB8bAkQycysmQ5BAtAmsaEJw519eJM2ziutU3LvzUvUqj6OAjtAxKiMXXaAqukU11EAEPaBn9IrerCfrxXq3PmatS1Y+c4D+wPr8AfVClOI=</latexit> <latexit sha1_base64="7rq4LEpoe4aY55fhWThmgIqP9b8=">AAAB/XicbVDLSsNAFJ34rPUVHzs3g0Wom5KIoMuiLlxW6AuaUG6m03boZBJmJkKNwV9x40IRt/6HO//GaZuFth64cDjnXu69J4g5U9pxvq2l5ZXVtfXCRnFza3tn197bb6ookYQ2SMQj2Q5AUc4EbWimOW3HkkIYcNoKRtcTv3VPpWKRqOtxTP0QBoL1GQFtpK59GJdTrz6kGrLH1CPA8U122rVLTsWZAi8SNycllKPWtb+8XkSSkApNOCjVcZ1Y+ylIzQinWdFLFI2BjGBAO4YKCKny0+n1GT4xSg/3I2lKaDxVf0+kECo1DgPTGYIeqnlvIv7ndRLdv/RTJuJEU0Fmi/oJxzrCkyhwj0lKNB8bAkQycysmQ5BAtAmsaEJw519eJM2ziutU3LvzUvUqj6OAjtAxKiMXXaAqukU11EAEPaBn9IrerCfrxXq3PmatS1Y+c4D+wPr8AfVClOI=</latexit> q (⇥) <latexit sha1_base64="4FQULfOSg9jDTbXyAOoG6tCO5yg=">AAAB+3icbVBNS8NAEN34WetXrEcvi0Wol5KIoMeiF48V+gVtCJvtpl262cTdiVhC/ooXD4p49Y9489+4bXPQ1gcDj/dmmJkXJIJrcJxva219Y3Nru7RT3t3bPzi0jyodHaeKsjaNRax6AdFMcMnawEGwXqIYiQLBusHkduZ3H5nSPJYtmCbMi8hI8pBTAkby7cqDnw0SzfNaNmiNGZD83LerTt2ZA68StyBVVKDp21+DYUzTiEmggmjdd50EvIwo4FSwvDxINUsInZAR6xsqScS0l81vz/GZUYY4jJUpCXiu/p7ISKT1NApMZ0RgrJe9mfif108hvPYyLpMUmKSLRWEqMMR4FgQecsUoiKkhhCpubsV0TBShYOIqmxDc5ZdXSeei7jp19/6y2rgp4iihE3SKashFV6iB7lATtRFFT+gZvaI3K7derHfrY9G6ZhUzx+gPrM8fCDeUag==</latexit> <latexit sha1_base64="4FQULfOSg9jDTbXyAOoG6tCO5yg=">AAAB+3icbVBNS8NAEN34WetXrEcvi0Wol5KIoMeiF48V+gVtCJvtpl262cTdiVhC/ooXD4p49Y9489+4bXPQ1gcDj/dmmJkXJIJrcJxva219Y3Nru7RT3t3bPzi0jyodHaeKsjaNRax6AdFMcMnawEGwXqIYiQLBusHkduZ3H5nSPJYtmCbMi8hI8pBTAkby7cqDnw0SzfNaNmiNGZD83LerTt2ZA68StyBVVKDp21+DYUzTiEmggmjdd50EvIwo4FSwvDxINUsInZAR6xsqScS0l81vz/GZUYY4jJUpCXiu/p7ISKT1NApMZ0RgrJe9mfif108hvPYyLpMUmKSLRWEqMMR4FgQecsUoiKkhhCpubsV0TBShYOIqmxDc5ZdXSeei7jp19/6y2rgp4iihE3SKashFV6iB7lATtRFFT+gZvaI3K7derHfrY9G6ZhUzx+gPrM8fCDeUag==</latexit> <latexit sha1_base64="4FQULfOSg9jDTbXyAOoG6tCO5yg=">AAAB+3icbVBNS8NAEN34WetXrEcvi0Wol5KIoMeiF48V+gVtCJvtpl262cTdiVhC/ooXD4p49Y9489+4bXPQ1gcDj/dmmJkXJIJrcJxva219Y3Nru7RT3t3bPzi0jyodHaeKsjaNRax6AdFMcMnawEGwXqIYiQLBusHkduZ3H5nSPJYtmCbMi8hI8pBTAkby7cqDnw0SzfNaNmiNGZD83LerTt2ZA68StyBVVKDp21+DYUzTiEmggmjdd50EvIwo4FSwvDxINUsInZAR6xsqScS0l81vz/GZUYY4jJUpCXiu/p7ISKT1NApMZ0RgrJe9mfif108hvPYyLpMUmKSLRWEqMMR4FgQecsUoiKkhhCpubsV0TBShYOIqmxDc5ZdXSeei7jp19/6y2rgp4iihE3SKashFV6iB7lATtRFFT+gZvaI3K7derHfrY9G6ZhUzx+gPrM8fCDeUag==</latexit> <latexit sha1_base64="hP+6LrUf2d3tZaldqaQQvEKMXyw=">AAAB2XicbZDNSgMxFIXv1L86Vq1rN8EiuCozbnQpuHFZwbZCO5RM5k4bmskMyR2hDH0BF25EfC93vo3pz0JbDwQ+zknIvSculLQUBN9ebWd3b/+gfugfNfzjk9Nmo2fz0gjsilzl5jnmFpXU2CVJCp8LgzyLFfbj6f0i77+gsTLXTzQrMMr4WMtUCk7O6oyaraAdLMW2IVxDC9YaNb+GSS7KDDUJxa0dhEFBUcUNSaFw7g9LiwUXUz7GgUPNM7RRtRxzzi6dk7A0N+5oYkv394uKZ9bOstjdzDhN7Ga2MP/LBiWlt1EldVESarH6KC0Vo5wtdmaJNChIzRxwYaSblYkJN1yQa8Z3HYSbG29D77odBu3wMYA6nMMFXEEIN3AHD9CBLghI4BXevYn35n2suqp569LO4I+8zx84xIo4</latexit> <latexit sha1_base64="9m6hr1BCi/F740ivzUGIUhFo3F4=">AAAB8HicbZBLSwMxFIXv+Ky16titm2AR6qbMuNGl4MZlhb6gMwyZNNOGZh4md8QyzF9x40IRf407/43pY6GtBwIf5yTcmxNmUmh0nG9ra3tnd2+/clA9rB0dn9intZ5Oc8V4l6UyVYOQai5FwrsoUPJBpjiNQ8n74fRunvefuNIiTTo4y7gf03EiIsEoGiuw649B4WValM3C60w40vIysBtOy1mIbIK7ggas1A7sL2+UsjzmCTJJtR66ToZ+QRUKJnlZ9XLNM8qmdMyHBhMac+0Xi91LcmGcEYlSZU6CZOH+flHQWOtZHJqbMcWJXs/m5n/ZMMfoxi9EkuXIE7YcFOWSYErmRZCRUJyhnBmgTAmzK2ETqihDU1fVlOCuf3kTelct12m5Dw5U4AzOoQkuXMMt3EMbusDgGV7gDd6t0nq1PpZ1bVmr3urwR9bnD6UykwQ=</latexit> <latexit sha1_base64="9m6hr1BCi/F740ivzUGIUhFo3F4=">AAAB8HicbZBLSwMxFIXv+Ky16titm2AR6qbMuNGl4MZlhb6gMwyZNNOGZh4md8QyzF9x40IRf407/43pY6GtBwIf5yTcmxNmUmh0nG9ra3tnd2+/clA9rB0dn9intZ5Oc8V4l6UyVYOQai5FwrsoUPJBpjiNQ8n74fRunvefuNIiTTo4y7gf03EiIsEoGiuw649B4WValM3C60w40vIysBtOy1mIbIK7ggas1A7sL2+UsjzmCTJJtR66ToZ+QRUKJnlZ9XLNM8qmdMyHBhMac+0Xi91LcmGcEYlSZU6CZOH+flHQWOtZHJqbMcWJXs/m5n/ZMMfoxi9EkuXIE7YcFOWSYErmRZCRUJyhnBmgTAmzK2ETqihDU1fVlOCuf3kTelct12m5Dw5U4AzOoQkuXMMt3EMbusDgGV7gDd6t0nq1PpZ1bVmr3urwR9bnD6UykwQ=</latexit> <latexit sha1_base64="EqU1k5hCNfMW0hrE7RVGiZFuYZM=">AAAB+3icbVBNS8NAEJ3Ur1q/Yj16WSxCvZTEix6LXjxW6Be0IWy2m3bpZhN3N2IJ+StePCji1T/izX/jts1BWx8MPN6bYWZekHCmtON8W6WNza3tnfJuZW//4PDIPq52VZxKQjsk5rHsB1hRzgTtaKY57SeS4ijgtBdMb+d+75FKxWLR1rOEehEeCxYygrWRfLv64GfDRLG8ng3bE6pxfuHbNafhLIDWiVuQGhRo+fbXcBSTNKJCE46VGrhOor0MS80Ip3llmCqaYDLFYzowVOCIKi9b3J6jc6OMUBhLU0Kjhfp7IsORUrMoMJ0R1hO16s3F/7xBqsNrL2MiSTUVZLkoTDnSMZoHgUZMUqL5zBBMJDO3IjLBEhNt4qqYENzVl9dJ97LhOg333qk1b4o4ynAKZ1AHF66gCXfQgg4QeIJneIU3K7derHfrY9lasoqZE/gD6/MHBveUZg==</latexit> <latexit sha1_base64="4FQULfOSg9jDTbXyAOoG6tCO5yg=">AAAB+3icbVBNS8NAEN34WetXrEcvi0Wol5KIoMeiF48V+gVtCJvtpl262cTdiVhC/ooXD4p49Y9489+4bXPQ1gcDj/dmmJkXJIJrcJxva219Y3Nru7RT3t3bPzi0jyodHaeKsjaNRax6AdFMcMnawEGwXqIYiQLBusHkduZ3H5nSPJYtmCbMi8hI8pBTAkby7cqDnw0SzfNaNmiNGZD83LerTt2ZA68StyBVVKDp21+DYUzTiEmggmjdd50EvIwo4FSwvDxINUsInZAR6xsqScS0l81vz/GZUYY4jJUpCXiu/p7ISKT1NApMZ0RgrJe9mfif108hvPYyLpMUmKSLRWEqMMR4FgQecsUoiKkhhCpubsV0TBShYOIqmxDc5ZdXSeei7jp19/6y2rgp4iihE3SKashFV6iB7lATtRFFT+gZvaI3K7derHfrY9G6ZhUzx+gPrM8fCDeUag==</latexit> <latexit sha1_base64="4FQULfOSg9jDTbXyAOoG6tCO5yg=">AAAB+3icbVBNS8NAEN34WetXrEcvi0Wol5KIoMeiF48V+gVtCJvtpl262cTdiVhC/ooXD4p49Y9489+4bXPQ1gcDj/dmmJkXJIJrcJxva219Y3Nru7RT3t3bPzi0jyodHaeKsjaNRax6AdFMcMnawEGwXqIYiQLBusHkduZ3H5nSPJYtmCbMi8hI8pBTAkby7cqDnw0SzfNaNmiNGZD83LerTt2ZA68StyBVVKDp21+DYUzTiEmggmjdd50EvIwo4FSwvDxINUsInZAR6xsqScS0l81vz/GZUYY4jJUpCXiu/p7ISKT1NApMZ0RgrJe9mfif108hvPYyLpMUmKSLRWEqMMR4FgQecsUoiKkhhCpubsV0TBShYOIqmxDc5ZdXSeei7jp19/6y2rgp4iihE3SKashFV6iB7lATtRFFT+gZvaI3K7derHfrY9G6ZhUzx+gPrM8fCDeUag==</latexit> <latexit sha1_base64="4FQULfOSg9jDTbXyAOoG6tCO5yg=">AAAB+3icbVBNS8NAEN34WetXrEcvi0Wol5KIoMeiF48V+gVtCJvtpl262cTdiVhC/ooXD4p49Y9489+4bXPQ1gcDj/dmmJkXJIJrcJxva219Y3Nru7RT3t3bPzi0jyodHaeKsjaNRax6AdFMcMnawEGwXqIYiQLBusHkduZ3H5nSPJYtmCbMi8hI8pBTAkby7cqDnw0SzfNaNmiNGZD83LerTt2ZA68StyBVVKDp21+DYUzTiEmggmjdd50EvIwo4FSwvDxINUsInZAR6xsqScS0l81vz/GZUYY4jJUpCXiu/p7ISKT1NApMZ0RgrJe9mfif108hvPYyLpMUmKSLRWEqMMR4FgQecsUoiKkhhCpubsV0TBShYOIqmxDc5ZdXSeei7jp19/6y2rgp4iihE3SKashFV6iB7lATtRFFT+gZvaI3K7derHfrY9G6ZhUzx+gPrM8fCDeUag==</latexit> <latexit sha1_base64="4FQULfOSg9jDTbXyAOoG6tCO5yg=">AAAB+3icbVBNS8NAEN34WetXrEcvi0Wol5KIoMeiF48V+gVtCJvtpl262cTdiVhC/ooXD4p49Y9489+4bXPQ1gcDj/dmmJkXJIJrcJxva219Y3Nru7RT3t3bPzi0jyodHaeKsjaNRax6AdFMcMnawEGwXqIYiQLBusHkduZ3H5nSPJYtmCbMi8hI8pBTAkby7cqDnw0SzfNaNmiNGZD83LerTt2ZA68StyBVVKDp21+DYUzTiEmggmjdd50EvIwo4FSwvDxINUsInZAR6xsqScS0l81vz/GZUYY4jJUpCXiu/p7ISKT1NApMZ0RgrJe9mfif108hvPYyLpMUmKSLRWEqMMR4FgQecsUoiKkhhCpubsV0TBShYOIqmxDc5ZdXSeei7jp19/6y2rgp4iihE3SKashFV6iB7lATtRFFT+gZvaI3K7derHfrY9G6ZhUzx+gPrM8fCDeUag==</latexit> <latexit sha1_base64="4FQULfOSg9jDTbXyAOoG6tCO5yg=">AAAB+3icbVBNS8NAEN34WetXrEcvi0Wol5KIoMeiF48V+gVtCJvtpl262cTdiVhC/ooXD4p49Y9489+4bXPQ1gcDj/dmmJkXJIJrcJxva219Y3Nru7RT3t3bPzi0jyodHaeKsjaNRax6AdFMcMnawEGwXqIYiQLBusHkduZ3H5nSPJYtmCbMi8hI8pBTAkby7cqDnw0SzfNaNmiNGZD83LerTt2ZA68StyBVVKDp21+DYUzTiEmggmjdd50EvIwo4FSwvDxINUsInZAR6xsqScS0l81vz/GZUYY4jJUpCXiu/p7ISKT1NApMZ0RgrJe9mfif108hvPYyLpMUmKSLRWEqMMR4FgQecsUoiKkhhCpubsV0TBShYOIqmxDc5ZdXSeei7jp19/6y2rgp4iihE3SKashFV6iB7lATtRFFT+gZvaI3K7derHfrY9G6ZhUzx+gPrM8fCDeUag==</latexit> ELBOͷʢ ʹؔ͢Δʣ࠷େԽ = ڑ཭ͷ࠷খԽ <latexit sha1_base64="17uENeVNbGzAf0rC1EQQVr4Zn7Q=">AAAB63icbVA9SwNBEJ2LXzF+RS1tFoNgFe5E0DJoYxnBxEByhL3NJFmyu3fs7gnhyF+wsVDE1j9k579xL7lCEx8MPN6bYWZelAhurO9/e6W19Y3NrfJ2ZWd3b/+genjUNnGqGbZYLGLdiahBwRW2LLcCO4lGKiOBj9HkNvcfn1AbHqsHO00wlHSk+JAzanOplxjer9b8uj8HWSVBQWpQoNmvfvUGMUslKssENaYb+IkNM6otZwJnlV5qMKFsQkfYdVRRiSbM5rfOyJlTBmQYa1fKkrn6eyKj0pipjFynpHZslr1c/M/rpnZ4HWZcJalFxRaLhqkgNib542TANTIrpo5Qprm7lbAx1ZRZF0/FhRAsv7xK2hf1wK8H95e1xk0RRxlO4BTOIYAraMAdNKEFDMbwDK/w5knvxXv3PhatJa+YOYY/8D5/ACQ/jko=</latexit> <latexit sha1_base64="17uENeVNbGzAf0rC1EQQVr4Zn7Q=">AAAB63icbVA9SwNBEJ2LXzF+RS1tFoNgFe5E0DJoYxnBxEByhL3NJFmyu3fs7gnhyF+wsVDE1j9k579xL7lCEx8MPN6bYWZelAhurO9/e6W19Y3NrfJ2ZWd3b/+genjUNnGqGbZYLGLdiahBwRW2LLcCO4lGKiOBj9HkNvcfn1AbHqsHO00wlHSk+JAzanOplxjer9b8uj8HWSVBQWpQoNmvfvUGMUslKssENaYb+IkNM6otZwJnlV5qMKFsQkfYdVRRiSbM5rfOyJlTBmQYa1fKkrn6eyKj0pipjFynpHZslr1c/M/rpnZ4HWZcJalFxRaLhqkgNib542TANTIrpo5Qprm7lbAx1ZRZF0/FhRAsv7xK2hf1wK8H95e1xk0RRxlO4BTOIYAraMAdNKEFDMbwDK/w5knvxXv3PhatJa+YOYY/8D5/ACQ/jko=</latexit> <latexit sha1_base64="17uENeVNbGzAf0rC1EQQVr4Zn7Q=">AAAB63icbVA9SwNBEJ2LXzF+RS1tFoNgFe5E0DJoYxnBxEByhL3NJFmyu3fs7gnhyF+wsVDE1j9k579xL7lCEx8MPN6bYWZelAhurO9/e6W19Y3NrfJ2ZWd3b/+genjUNnGqGbZYLGLdiahBwRW2LLcCO4lGKiOBj9HkNvcfn1AbHqsHO00wlHSk+JAzanOplxjer9b8uj8HWSVBQWpQoNmvfvUGMUslKssENaYb+IkNM6otZwJnlV5qMKFsQkfYdVRRiSbM5rfOyJlTBmQYa1fKkrn6eyKj0pipjFynpHZslr1c/M/rpnZ4HWZcJalFxRaLhqkgNib542TANTIrpo5Qprm7lbAx1ZRZF0/FhRAsv7xK2hf1wK8H95e1xk0RRxlO4BTOIYAraMAdNKEFDMbwDK/w5knvxXv3PhatJa+YOYY/8D5/ACQ/jko=</latexit> <latexit sha1_base64="17uENeVNbGzAf0rC1EQQVr4Zn7Q=">AAAB63icbVA9SwNBEJ2LXzF+RS1tFoNgFe5E0DJoYxnBxEByhL3NJFmyu3fs7gnhyF+wsVDE1j9k579xL7lCEx8MPN6bYWZelAhurO9/e6W19Y3NrfJ2ZWd3b/+genjUNnGqGbZYLGLdiahBwRW2LLcCO4lGKiOBj9HkNvcfn1AbHqsHO00wlHSk+JAzanOplxjer9b8uj8HWSVBQWpQoNmvfvUGMUslKssENaYb+IkNM6otZwJnlV5qMKFsQkfYdVRRiSbM5rfOyJlTBmQYa1fKkrn6eyKj0pipjFynpHZslr1c/M/rpnZ4HWZcJalFxRaLhqkgNib542TANTIrpo5Qprm7lbAx1ZRZF0/FhRAsv7xK2hf1wK8H95e1xk0RRxlO4BTOIYAraMAdNKEFDMbwDK/w5knvxXv3PhatJa+YOYY/8D5/ACQ/jko=</latexit> = log p(D) KL [q (⇥)||p(⇥|D)] <latexit sha1_base64="AbeVhpcovskNP7Qs3E9gV5QDg3Y=">AAACNXicbVDLSgMxFM34tr6qLt0Ei9AuLDMi6EYQdSHoQsG2QmcomfROG8w8TO4IZdqfcuN/uNKFC0Xc+gumD/BRDwROzrmH5B4/kUKjbT9bE5NT0zOzc/O5hcWl5ZX86lpVx6niUOGxjNW1zzRIEUEFBUq4ThSw0JdQ82+O+37tDpQWcXSFnQS8kLUiEQjO0EiN/PmBK+MWTYqZy5mkJ70S3aZn59SVEGCd3jYyN9GiV3Sv2oCsRLtdMzu8dL8jrhKtNnqNfMEu2wPQceKMSIGMcNHIP7rNmKchRMgl07ru2Al6GVMouIRezk01JIzfsBbUDY1YCNrLBlv36JZRmjSIlTkR0oH6M5GxUOtO6JvJkGFb//X64n9ePcVg38tElKQIER8+FKSSYkz7FdKmUMBRdgxhXAnzV8rbTDGOpuicKcH5u/I4qe6UHbvsXO4WDo9GdcyRDbJJisQhe+SQnJILUiGc3JMn8krerAfrxXq3PoajE9Yos05+wfr8ArdVqaY=</latexit> <latexit sha1_base64="AbeVhpcovskNP7Qs3E9gV5QDg3Y=">AAACNXicbVDLSgMxFM34tr6qLt0Ei9AuLDMi6EYQdSHoQsG2QmcomfROG8w8TO4IZdqfcuN/uNKFC0Xc+gumD/BRDwROzrmH5B4/kUKjbT9bE5NT0zOzc/O5hcWl5ZX86lpVx6niUOGxjNW1zzRIEUEFBUq4ThSw0JdQ82+O+37tDpQWcXSFnQS8kLUiEQjO0EiN/PmBK+MWTYqZy5mkJ70S3aZn59SVEGCd3jYyN9GiV3Sv2oCsRLtdMzu8dL8jrhKtNnqNfMEu2wPQceKMSIGMcNHIP7rNmKchRMgl07ru2Al6GVMouIRezk01JIzfsBbUDY1YCNrLBlv36JZRmjSIlTkR0oH6M5GxUOtO6JvJkGFb//X64n9ePcVg38tElKQIER8+FKSSYkz7FdKmUMBRdgxhXAnzV8rbTDGOpuicKcH5u/I4qe6UHbvsXO4WDo9GdcyRDbJJisQhe+SQnJILUiGc3JMn8krerAfrxXq3PoajE9Yos05+wfr8ArdVqaY=</latexit> <latexit sha1_base64="AbeVhpcovskNP7Qs3E9gV5QDg3Y=">AAACNXicbVDLSgMxFM34tr6qLt0Ei9AuLDMi6EYQdSHoQsG2QmcomfROG8w8TO4IZdqfcuN/uNKFC0Xc+gumD/BRDwROzrmH5B4/kUKjbT9bE5NT0zOzc/O5hcWl5ZX86lpVx6niUOGxjNW1zzRIEUEFBUq4ThSw0JdQ82+O+37tDpQWcXSFnQS8kLUiEQjO0EiN/PmBK+MWTYqZy5mkJ70S3aZn59SVEGCd3jYyN9GiV3Sv2oCsRLtdMzu8dL8jrhKtNnqNfMEu2wPQceKMSIGMcNHIP7rNmKchRMgl07ru2Al6GVMouIRezk01JIzfsBbUDY1YCNrLBlv36JZRmjSIlTkR0oH6M5GxUOtO6JvJkGFb//X64n9ePcVg38tElKQIER8+FKSSYkz7FdKmUMBRdgxhXAnzV8rbTDGOpuicKcH5u/I4qe6UHbvsXO4WDo9GdcyRDbJJisQhe+SQnJILUiGc3JMn8krerAfrxXq3PoajE9Yos05+wfr8ArdVqaY=</latexit> <latexit sha1_base64="AbeVhpcovskNP7Qs3E9gV5QDg3Y=">AAACNXicbVDLSgMxFM34tr6qLt0Ei9AuLDMi6EYQdSHoQsG2QmcomfROG8w8TO4IZdqfcuN/uNKFC0Xc+gumD/BRDwROzrmH5B4/kUKjbT9bE5NT0zOzc/O5hcWl5ZX86lpVx6niUOGxjNW1zzRIEUEFBUq4ThSw0JdQ82+O+37tDpQWcXSFnQS8kLUiEQjO0EiN/PmBK+MWTYqZy5mkJ70S3aZn59SVEGCd3jYyN9GiV3Sv2oCsRLtdMzu8dL8jrhKtNnqNfMEu2wPQceKMSIGMcNHIP7rNmKchRMgl07ru2Al6GVMouIRezk01JIzfsBbUDY1YCNrLBlv36JZRmjSIlTkR0oH6M5GxUOtO6JvJkGFb//X64n9ePcVg38tElKQIER8+FKSSYkz7FdKmUMBRdgxhXAnzV8rbTDGOpuicKcH5u/I4qe6UHbvsXO4WDo9GdcyRDbJJisQhe+SQnJILUiGc3JMn8krerAfrxXq3PoajE9Yos05+wfr8ArdVqaY=</latexit> q (⇥) ' p(⇥|D) <latexit sha1_base64="zBtSSuw+QUM2n9UR6INk5nwnyQg=">AAACFnicbVDJSgNBEO1xjXEb9eilMQjJwTAjgh6DevAYIRtkhqGnU0ma9Czp7hHCOF/hxV/x4kERr+LNv7GzIJr4oODxXhVV9fyYM6ks68tYWl5ZXVvPbeQ3t7Z3ds29/YaMEkGhTiMeiZZPJHAWQl0xxaEVCyCBz6HpD67GfvMOhGRRWFOjGNyA9ELWZZQoLXnmydBLnViyrJg6tT4okpUcyQIY4vhHuU8dSji+zkqeWbDK1gR4kdgzUkAzVD3z0+lENAkgVJQTKdu2FSs3JUIxyiHLO4mEmNAB6UFb05AEIN108laGj7XSwd1I6AoVnqi/J1ISSDkKfN0ZENWX895Y/M9rJ6p74aYsjBMFIZ0u6iYcqwiPM8IdJoAqPtKEUMH0rZj2iSBU6STzOgR7/uVF0jgt21bZvj0rVC5nceTQITpCRWSjc1RBN6iK6oiiB/SEXtCr8Wg8G2/G+7R1yZjNHKA/MD6+AXJLn4I=</latexit> <latexit sha1_base64="zBtSSuw+QUM2n9UR6INk5nwnyQg=">AAACFnicbVDJSgNBEO1xjXEb9eilMQjJwTAjgh6DevAYIRtkhqGnU0ma9Czp7hHCOF/hxV/x4kERr+LNv7GzIJr4oODxXhVV9fyYM6ks68tYWl5ZXVvPbeQ3t7Z3ds29/YaMEkGhTiMeiZZPJHAWQl0xxaEVCyCBz6HpD67GfvMOhGRRWFOjGNyA9ELWZZQoLXnmydBLnViyrJg6tT4okpUcyQIY4vhHuU8dSji+zkqeWbDK1gR4kdgzUkAzVD3z0+lENAkgVJQTKdu2FSs3JUIxyiHLO4mEmNAB6UFb05AEIN108laGj7XSwd1I6AoVnqi/J1ISSDkKfN0ZENWX895Y/M9rJ6p74aYsjBMFIZ0u6iYcqwiPM8IdJoAqPtKEUMH0rZj2iSBU6STzOgR7/uVF0jgt21bZvj0rVC5nceTQITpCRWSjc1RBN6iK6oiiB/SEXtCr8Wg8G2/G+7R1yZjNHKA/MD6+AXJLn4I=</latexit> <latexit sha1_base64="zBtSSuw+QUM2n9UR6INk5nwnyQg=">AAACFnicbVDJSgNBEO1xjXEb9eilMQjJwTAjgh6DevAYIRtkhqGnU0ma9Czp7hHCOF/hxV/x4kERr+LNv7GzIJr4oODxXhVV9fyYM6ks68tYWl5ZXVvPbeQ3t7Z3ds29/YaMEkGhTiMeiZZPJHAWQl0xxaEVCyCBz6HpD67GfvMOhGRRWFOjGNyA9ELWZZQoLXnmydBLnViyrJg6tT4okpUcyQIY4vhHuU8dSji+zkqeWbDK1gR4kdgzUkAzVD3z0+lENAkgVJQTKdu2FSs3JUIxyiHLO4mEmNAB6UFb05AEIN108laGj7XSwd1I6AoVnqi/J1ISSDkKfN0ZENWX895Y/M9rJ6p74aYsjBMFIZ0u6iYcqwiPM8IdJoAqPtKEUMH0rZj2iSBU6STzOgR7/uVF0jgt21bZvj0rVC5nceTQITpCRWSjc1RBN6iK6oiiB/SEXtCr8Wg8G2/G+7R1yZjNHKA/MD6+AXJLn4I=</latexit> <latexit sha1_base64="zBtSSuw+QUM2n9UR6INk5nwnyQg=">AAACFnicbVDJSgNBEO1xjXEb9eilMQjJwTAjgh6DevAYIRtkhqGnU0ma9Czp7hHCOF/hxV/x4kERr+LNv7GzIJr4oODxXhVV9fyYM6ks68tYWl5ZXVvPbeQ3t7Z3ds29/YaMEkGhTiMeiZZPJHAWQl0xxaEVCyCBz6HpD67GfvMOhGRRWFOjGNyA9ELWZZQoLXnmydBLnViyrJg6tT4okpUcyQIY4vhHuU8dSji+zkqeWbDK1gR4kdgzUkAzVD3z0+lENAkgVJQTKdu2FSs3JUIxyiHLO4mEmNAB6UFb05AEIN108laGj7XSwd1I6AoVnqi/J1ISSDkKfN0ZENWX895Y/M9rJ6p74aYsjBMFIZ0u6iYcqwiPM8IdJoAqPtKEUMH0rZj2iSBU6STzOgR7/uVF0jgt21bZvj0rVC5nceTQITpCRWSjc1RBN6iK6oiiB/SEXtCr8Wg8G2/G+7R1yZjNHKA/MD6+AXJLn4I=</latexit>
  10. ֬཰ϞσϦϯάϥΠϒϥϦ ADVIΛαϙʔτ͢ΔϥΠϒϥϦ • StanʢC++ʣ • PyMC3ʢTheanoʣ • EdwardʢTensorflowʣ • PyroʢPytorchʣ

    • ͦͷଞͨ͘͞Μ
  11. ELBOͷܭࢉ • ΛαϯϓϦϯά • ͱ Λܭࢉʢର਺֬཰ʣ ELBO( ) ' N

    1 N X i=1 h log p(D, ⇥(i)) log q (⇥(i)) i <latexit sha1_base64="133ggc05B0tY+/CI1HfeG8Z1x1k=">AAACWnicbVFdaxQxFM2M2o+tH2vrmy/BRZgFu8yIoC+F0ir4ILVCty1sZodM9s5uaDIzm9wRljB/0hcR/CuC2Y8H23og5HDOvTfJSV4raTGOfwXhg4ePtrZ3djt7j588fdZ9vn9pq8YIGIpKVeY65xaULGGIEhVc1wa4zhVc5TenS//qOxgrq/ICFzWkmk9LWUjB0UtZd/7py8nXiNVW9imzUsOcno3dYdIy2+jMyaOkHbuzljIFBY78Vk1pHTkmuKIf2zfsYgbIxy6S/bZPD9f+PHPLgW1022VGTmeYZt1ePIhXoPdJsiE9ssF51v3BJpVoNJQoFLd2lMQ1po4blEJB22GNhZqLGz6Fkacl12BTt4qmpa+9MqFFZfwqka7Ufzsc19YudO4rNceZvestxf95owaLD6mTZd0glGJ9UNEoihVd5kwn0oBAtfCECyP9XamYccMF+t/o+BCSu0++Ty7fDpJ4kHx71zs+2cSxQ16SVyQiCXlPjslnck6GRJCf5E+wFWwHv8Mw3A331qVhsOk5ILcQvvgLQXOyUg==</latexit> <latexit sha1_base64="133ggc05B0tY+/CI1HfeG8Z1x1k=">AAACWnicbVFdaxQxFM2M2o+tH2vrmy/BRZgFu8yIoC+F0ir4ILVCty1sZodM9s5uaDIzm9wRljB/0hcR/CuC2Y8H23og5HDOvTfJSV4raTGOfwXhg4ePtrZ3djt7j588fdZ9vn9pq8YIGIpKVeY65xaULGGIEhVc1wa4zhVc5TenS//qOxgrq/ICFzWkmk9LWUjB0UtZd/7py8nXiNVW9imzUsOcno3dYdIy2+jMyaOkHbuzljIFBY78Vk1pHTkmuKIf2zfsYgbIxy6S/bZPD9f+PHPLgW1022VGTmeYZt1ePIhXoPdJsiE9ssF51v3BJpVoNJQoFLd2lMQ1po4blEJB22GNhZqLGz6Fkacl12BTt4qmpa+9MqFFZfwqka7Ufzsc19YudO4rNceZvestxf95owaLD6mTZd0glGJ9UNEoihVd5kwn0oBAtfCECyP9XamYccMF+t/o+BCSu0++Ty7fDpJ4kHx71zs+2cSxQ16SVyQiCXlPjslnck6GRJCf5E+wFWwHv8Mw3A331qVhsOk5ILcQvvgLQXOyUg==</latexit> <latexit sha1_base64="133ggc05B0tY+/CI1HfeG8Z1x1k=">AAACWnicbVFdaxQxFM2M2o+tH2vrmy/BRZgFu8yIoC+F0ir4ILVCty1sZodM9s5uaDIzm9wRljB/0hcR/CuC2Y8H23og5HDOvTfJSV4raTGOfwXhg4ePtrZ3djt7j588fdZ9vn9pq8YIGIpKVeY65xaULGGIEhVc1wa4zhVc5TenS//qOxgrq/ICFzWkmk9LWUjB0UtZd/7py8nXiNVW9imzUsOcno3dYdIy2+jMyaOkHbuzljIFBY78Vk1pHTkmuKIf2zfsYgbIxy6S/bZPD9f+PHPLgW1022VGTmeYZt1ePIhXoPdJsiE9ssF51v3BJpVoNJQoFLd2lMQ1po4blEJB22GNhZqLGz6Fkacl12BTt4qmpa+9MqFFZfwqka7Ufzsc19YudO4rNceZvestxf95owaLD6mTZd0glGJ9UNEoihVd5kwn0oBAtfCECyP9XamYccMF+t/o+BCSu0++Ty7fDpJ4kHx71zs+2cSxQ16SVyQiCXlPjslnck6GRJCf5E+wFWwHv8Mw3A331qVhsOk5ILcQvvgLQXOyUg==</latexit> <latexit sha1_base64="133ggc05B0tY+/CI1HfeG8Z1x1k=">AAACWnicbVFdaxQxFM2M2o+tH2vrmy/BRZgFu8yIoC+F0ir4ILVCty1sZodM9s5uaDIzm9wRljB/0hcR/CuC2Y8H23og5HDOvTfJSV4raTGOfwXhg4ePtrZ3djt7j588fdZ9vn9pq8YIGIpKVeY65xaULGGIEhVc1wa4zhVc5TenS//qOxgrq/ICFzWkmk9LWUjB0UtZd/7py8nXiNVW9imzUsOcno3dYdIy2+jMyaOkHbuzljIFBY78Vk1pHTkmuKIf2zfsYgbIxy6S/bZPD9f+PHPLgW1022VGTmeYZt1ePIhXoPdJsiE9ssF51v3BJpVoNJQoFLd2lMQ1po4blEJB22GNhZqLGz6Fkacl12BTt4qmpa+9MqFFZfwqka7Ufzsc19YudO4rNceZvestxf95owaLD6mTZd0glGJ9UNEoihVd5kwn0oBAtfCECyP9XamYccMF+t/o+BCSu0++Ty7fDpJ4kHx71zs+2cSxQ16SVyQiCXlPjslnck6GRJCf5E+wFWwHv8Mw3A331qVhsOk5ILcQvvgLQXOyUg==</latexit> ⇥(i) ⇠ q (⇥) <latexit sha1_base64="MKxrr2dehu5iLtPmd+5ssBhAUWk=">AAACC3icbVDLSsNAFJ3UV62vqEs3Q4vQbkoigi6LblxW6AuaGCbTSTt0ZhJnJkIJ3bvxV9y4UMStP+DOv3HaZqGtBy4czrmXe+8JE0aVdpxvq7C2vrG5Vdwu7ezu7R/Yh0cdFacSkzaOWSx7IVKEUUHammpGeokkiIeMdMPx9czvPhCpaCxaepIQn6OhoBHFSBspsMtea0Q0usuqtDaFnqIc3geZlyg6rS6sWmBXnLozB1wlbk4qIEczsL+8QYxTToTGDCnVd51E+xmSmmJGpiUvVSRBeIyGpG+oQJwoP5v/MoWnRhnAKJamhIZz9fdEhrhSEx6aTo70SC17M/E/r5/q6NLPqEhSTQReLIpSBnUMZ8HAAZUEazYxBGFJza0Qj5BEWJv4SiYEd/nlVdI5q7tO3b09rzSu8jiK4ASUQRW44AI0wA1ogjbA4BE8g1fwZj1ZL9a79bFoLVj5zDH4A+vzB/YJmlk=</latexit> <latexit sha1_base64="MKxrr2dehu5iLtPmd+5ssBhAUWk=">AAACC3icbVDLSsNAFJ3UV62vqEs3Q4vQbkoigi6LblxW6AuaGCbTSTt0ZhJnJkIJ3bvxV9y4UMStP+DOv3HaZqGtBy4czrmXe+8JE0aVdpxvq7C2vrG5Vdwu7ezu7R/Yh0cdFacSkzaOWSx7IVKEUUHammpGeokkiIeMdMPx9czvPhCpaCxaepIQn6OhoBHFSBspsMtea0Q0usuqtDaFnqIc3geZlyg6rS6sWmBXnLozB1wlbk4qIEczsL+8QYxTToTGDCnVd51E+xmSmmJGpiUvVSRBeIyGpG+oQJwoP5v/MoWnRhnAKJamhIZz9fdEhrhSEx6aTo70SC17M/E/r5/q6NLPqEhSTQReLIpSBnUMZ8HAAZUEazYxBGFJza0Qj5BEWJv4SiYEd/nlVdI5q7tO3b09rzSu8jiK4ASUQRW44AI0wA1ogjbA4BE8g1fwZj1ZL9a79bFoLVj5zDH4A+vzB/YJmlk=</latexit> <latexit sha1_base64="MKxrr2dehu5iLtPmd+5ssBhAUWk=">AAACC3icbVDLSsNAFJ3UV62vqEs3Q4vQbkoigi6LblxW6AuaGCbTSTt0ZhJnJkIJ3bvxV9y4UMStP+DOv3HaZqGtBy4czrmXe+8JE0aVdpxvq7C2vrG5Vdwu7ezu7R/Yh0cdFacSkzaOWSx7IVKEUUHammpGeokkiIeMdMPx9czvPhCpaCxaepIQn6OhoBHFSBspsMtea0Q0usuqtDaFnqIc3geZlyg6rS6sWmBXnLozB1wlbk4qIEczsL+8QYxTToTGDCnVd51E+xmSmmJGpiUvVSRBeIyGpG+oQJwoP5v/MoWnRhnAKJamhIZz9fdEhrhSEx6aTo70SC17M/E/r5/q6NLPqEhSTQReLIpSBnUMZ8HAAZUEazYxBGFJza0Qj5BEWJv4SiYEd/nlVdI5q7tO3b09rzSu8jiK4ASUQRW44AI0wA1ogjbA4BE8g1fwZj1ZL9a79bFoLVj5zDH4A+vzB/YJmlk=</latexit> <latexit sha1_base64="MKxrr2dehu5iLtPmd+5ssBhAUWk=">AAACC3icbVDLSsNAFJ3UV62vqEs3Q4vQbkoigi6LblxW6AuaGCbTSTt0ZhJnJkIJ3bvxV9y4UMStP+DOv3HaZqGtBy4czrmXe+8JE0aVdpxvq7C2vrG5Vdwu7ezu7R/Yh0cdFacSkzaOWSx7IVKEUUHammpGeokkiIeMdMPx9czvPhCpaCxaepIQn6OhoBHFSBspsMtea0Q0usuqtDaFnqIc3geZlyg6rS6sWmBXnLozB1wlbk4qIEczsL+8QYxTToTGDCnVd51E+xmSmmJGpiUvVSRBeIyGpG+oQJwoP5v/MoWnRhnAKJamhIZz9fdEhrhSEx6aTo70SC17M/E/r5/q6NLPqEhSTQReLIpSBnUMZ8HAAZUEazYxBGFJza0Qj5BEWJv4SiYEd/nlVdI5q7tO3b09rzSu8jiK4ASUQRW44AI0wA1ogjbA4BE8g1fwZj1ZL9a79bFoLVj5zDH4A+vzB/YJmlk=</latexit> αϯϓϦϯά ⇥(i) <latexit sha1_base64="5xRmiTupRCVlnfXoM5ANcF7Tv8w=">AAAB83icbVBNS8NAEN3Ur1q/qh69LBahXkoigh6LXjxWaGuhqWWznbRLN5uwOxFK6N/w4kERr/4Zb/4bt20O2vpg4PHeDDPzgkQKg6777RTW1jc2t4rbpZ3dvf2D8uFR28Sp5tDisYx1J2AGpFDQQoESOokGFgUSHoLx7cx/eAJtRKyaOEmgF7GhEqHgDK3k+80RIHvMquJ82i9X3Jo7B10lXk4qJEejX/7yBzFPI1DIJTOm67kJ9jKmUXAJ05KfGkgYH7MhdC1VLALTy+Y3T+mZVQY0jLUthXSu/p7IWGTMJApsZ8RwZJa9mfif100xvO5lQiUpguKLRWEqKcZ0FgAdCA0c5cQSxrWwt1I+YppxtDGVbAje8surpH1R89yad39Zqd/kcRTJCTklVeKRK1Ind6RBWoSThDyTV/LmpM6L8+58LFoLTj5zTP7A+fwBhEaRVA==</latexit> <latexit sha1_base64="5xRmiTupRCVlnfXoM5ANcF7Tv8w=">AAAB83icbVBNS8NAEN3Ur1q/qh69LBahXkoigh6LXjxWaGuhqWWznbRLN5uwOxFK6N/w4kERr/4Zb/4bt20O2vpg4PHeDDPzgkQKg6777RTW1jc2t4rbpZ3dvf2D8uFR28Sp5tDisYx1J2AGpFDQQoESOokGFgUSHoLx7cx/eAJtRKyaOEmgF7GhEqHgDK3k+80RIHvMquJ82i9X3Jo7B10lXk4qJEejX/7yBzFPI1DIJTOm67kJ9jKmUXAJ05KfGkgYH7MhdC1VLALTy+Y3T+mZVQY0jLUthXSu/p7IWGTMJApsZ8RwZJa9mfif100xvO5lQiUpguKLRWEqKcZ0FgAdCA0c5cQSxrWwt1I+YppxtDGVbAje8surpH1R89yad39Zqd/kcRTJCTklVeKRK1Ind6RBWoSThDyTV/LmpM6L8+58LFoLTj5zTP7A+fwBhEaRVA==</latexit> <latexit sha1_base64="5xRmiTupRCVlnfXoM5ANcF7Tv8w=">AAAB83icbVBNS8NAEN3Ur1q/qh69LBahXkoigh6LXjxWaGuhqWWznbRLN5uwOxFK6N/w4kERr/4Zb/4bt20O2vpg4PHeDDPzgkQKg6777RTW1jc2t4rbpZ3dvf2D8uFR28Sp5tDisYx1J2AGpFDQQoESOokGFgUSHoLx7cx/eAJtRKyaOEmgF7GhEqHgDK3k+80RIHvMquJ82i9X3Jo7B10lXk4qJEejX/7yBzFPI1DIJTOm67kJ9jKmUXAJ05KfGkgYH7MhdC1VLALTy+Y3T+mZVQY0jLUthXSu/p7IWGTMJApsZ8RwZJa9mfif100xvO5lQiUpguKLRWEqKcZ0FgAdCA0c5cQSxrWwt1I+YppxtDGVbAje8surpH1R89yad39Zqd/kcRTJCTklVeKRK1Ind6RBWoSThDyTV/LmpM6L8+58LFoLTj5zTP7A+fwBhEaRVA==</latexit> <latexit sha1_base64="5xRmiTupRCVlnfXoM5ANcF7Tv8w=">AAAB83icbVBNS8NAEN3Ur1q/qh69LBahXkoigh6LXjxWaGuhqWWznbRLN5uwOxFK6N/w4kERr/4Zb/4bt20O2vpg4PHeDDPzgkQKg6777RTW1jc2t4rbpZ3dvf2D8uFR28Sp5tDisYx1J2AGpFDQQoESOokGFgUSHoLx7cx/eAJtRKyaOEmgF7GhEqHgDK3k+80RIHvMquJ82i9X3Jo7B10lXk4qJEejX/7yBzFPI1DIJTOm67kJ9jKmUXAJ05KfGkgYH7MhdC1VLALTy+Y3T+mZVQY0jLUthXSu/p7IWGTMJApsZ8RwZJa9mfif100xvO5lQiUpguKLRWEqKcZ0FgAdCA0c5cQSxrWwt1I+YppxtDGVbAje8surpH1R89yad39Zqd/kcRTJCTklVeKRK1Ind6RBWoSThDyTV/LmpM6L8+58LFoLTj5zTP7A+fwBhEaRVA==</latexit> log p(D, ⇥(i)) <latexit sha1_base64="8Wu5F5ZFilykgmTTArqIWiN6QbU=">AAACBnicbVDLSsNAFJ34rPUVdSnCYBFakJKIoMuiLlxW6AuaWCbTSTt0MhNmJkIJWbnxV9y4UMSt3+DOv3HaZqGtBy4czrmXe+8JYkaVdpxva2l5ZXVtvbBR3Nza3tm19/ZbSiQSkyYWTMhOgBRhlJOmppqRTiwJigJG2sHoeuK3H4hUVPCGHsfEj9CA05BipI3Us488JgYwLqceRgzeZKdeY0g0uk/LtJJVenbJqTpTwEXi5qQEctR79pfXFziJCNeYIaW6rhNrP0VSU8xIVvQSRWKER2hAuoZyFBHlp9M3MnhilD4MhTTFNZyqvydSFCk1jgLTGSE9VPPeRPzP6yY6vPRTyuNEE45ni8KEQS3gJBPYp5JgzcaGICypuRXiIZIIa5Nc0YTgzr+8SFpnVdepunfnpdpVHkcBHIJjUAYuuAA1cAvqoAkweATP4BW8WU/Wi/Vufcxal6x85gD8gfX5A1wul8I=</latexit> <latexit sha1_base64="8Wu5F5ZFilykgmTTArqIWiN6QbU=">AAACBnicbVDLSsNAFJ34rPUVdSnCYBFakJKIoMuiLlxW6AuaWCbTSTt0MhNmJkIJWbnxV9y4UMSt3+DOv3HaZqGtBy4czrmXe+8JYkaVdpxva2l5ZXVtvbBR3Nza3tm19/ZbSiQSkyYWTMhOgBRhlJOmppqRTiwJigJG2sHoeuK3H4hUVPCGHsfEj9CA05BipI3Us488JgYwLqceRgzeZKdeY0g0uk/LtJJVenbJqTpTwEXi5qQEctR79pfXFziJCNeYIaW6rhNrP0VSU8xIVvQSRWKER2hAuoZyFBHlp9M3MnhilD4MhTTFNZyqvydSFCk1jgLTGSE9VPPeRPzP6yY6vPRTyuNEE45ni8KEQS3gJBPYp5JgzcaGICypuRXiIZIIa5Nc0YTgzr+8SFpnVdepunfnpdpVHkcBHIJjUAYuuAA1cAvqoAkweATP4BW8WU/Wi/Vufcxal6x85gD8gfX5A1wul8I=</latexit> <latexit sha1_base64="8Wu5F5ZFilykgmTTArqIWiN6QbU=">AAACBnicbVDLSsNAFJ34rPUVdSnCYBFakJKIoMuiLlxW6AuaWCbTSTt0MhNmJkIJWbnxV9y4UMSt3+DOv3HaZqGtBy4czrmXe+8JYkaVdpxva2l5ZXVtvbBR3Nza3tm19/ZbSiQSkyYWTMhOgBRhlJOmppqRTiwJigJG2sHoeuK3H4hUVPCGHsfEj9CA05BipI3Us488JgYwLqceRgzeZKdeY0g0uk/LtJJVenbJqTpTwEXi5qQEctR79pfXFziJCNeYIaW6rhNrP0VSU8xIVvQSRWKER2hAuoZyFBHlp9M3MnhilD4MhTTFNZyqvydSFCk1jgLTGSE9VPPeRPzP6yY6vPRTyuNEE45ni8KEQS3gJBPYp5JgzcaGICypuRXiIZIIa5Nc0YTgzr+8SFpnVdepunfnpdpVHkcBHIJjUAYuuAA1cAvqoAkweATP4BW8WU/Wi/Vufcxal6x85gD8gfX5A1wul8I=</latexit> <latexit sha1_base64="8Wu5F5ZFilykgmTTArqIWiN6QbU=">AAACBnicbVDLSsNAFJ34rPUVdSnCYBFakJKIoMuiLlxW6AuaWCbTSTt0MhNmJkIJWbnxV9y4UMSt3+DOv3HaZqGtBy4czrmXe+8JYkaVdpxva2l5ZXVtvbBR3Nza3tm19/ZbSiQSkyYWTMhOgBRhlJOmppqRTiwJigJG2sHoeuK3H4hUVPCGHsfEj9CA05BipI3Us488JgYwLqceRgzeZKdeY0g0uk/LtJJVenbJqTpTwEXi5qQEctR79pfXFziJCNeYIaW6rhNrP0VSU8xIVvQSRWKER2hAuoZyFBHlp9M3MnhilD4MhTTFNZyqvydSFCk1jgLTGSE9VPPeRPzP6yY6vPRTyuNEE45ni8KEQS3gJBPYp5JgzcaGICypuRXiIZIIa5Nc0YTgzr+8SFpnVdepunfnpdpVHkcBHIJjUAYuuAA1cAvqoAkweATP4BW8WU/Wi/Vufcxal6x85gD8gfX5A1wul8I=</latexit> log q (⇥(i)) <latexit sha1_base64="NDvxtvxNR4E298JMtvUcitDSJ4I=">AAACBHicbVDLSsNAFJ3UV62vqMtuBovQbkoigi6LblxW6AuaGCbTSTt0MhNnJkIJXbjxV9y4UMStH+HOv3HaZqGtBy4czrmXe+8JE0aVdpxvq7C2vrG5Vdwu7ezu7R/Yh0cdJVKJSRsLJmQvRIowyklbU81IL5EExSEj3XB8PfO7D0QqKnhLTxLix2jIaUQx0kYK7LLHxBDeB5mXKDqteq0R0eguq9LatBbYFafuzAFXiZuTCsjRDOwvbyBwGhOuMUNK9V0n0X6GpKaYkWnJSxVJEB6jIekbylFMlJ/Nn5jCU6MMYCSkKa7hXP09kaFYqUkcms4Y6ZFa9mbif14/1dGln1GepJpwvFgUpQxqAWeJwAGVBGs2MQRhSc2tEI+QRFib3EomBHf55VXSOau7Tt29Pa80rvI4iqAMTkAVuOACNMANaII2wOARPINX8GY9WS/Wu/WxaC1Y+cwx+APr8wfqppea</latexit> <latexit sha1_base64="NDvxtvxNR4E298JMtvUcitDSJ4I=">AAACBHicbVDLSsNAFJ3UV62vqMtuBovQbkoigi6LblxW6AuaGCbTSTt0MhNnJkIJXbjxV9y4UMStH+HOv3HaZqGtBy4czrmXe+8JE0aVdpxvq7C2vrG5Vdwu7ezu7R/Yh0cdJVKJSRsLJmQvRIowyklbU81IL5EExSEj3XB8PfO7D0QqKnhLTxLix2jIaUQx0kYK7LLHxBDeB5mXKDqteq0R0eguq9LatBbYFafuzAFXiZuTCsjRDOwvbyBwGhOuMUNK9V0n0X6GpKaYkWnJSxVJEB6jIekbylFMlJ/Nn5jCU6MMYCSkKa7hXP09kaFYqUkcms4Y6ZFa9mbif14/1dGln1GepJpwvFgUpQxqAWeJwAGVBGs2MQRhSc2tEI+QRFib3EomBHf55VXSOau7Tt29Pa80rvI4iqAMTkAVuOACNMANaII2wOARPINX8GY9WS/Wu/WxaC1Y+cwx+APr8wfqppea</latexit> <latexit sha1_base64="NDvxtvxNR4E298JMtvUcitDSJ4I=">AAACBHicbVDLSsNAFJ3UV62vqMtuBovQbkoigi6LblxW6AuaGCbTSTt0MhNnJkIJXbjxV9y4UMStH+HOv3HaZqGtBy4czrmXe+8JE0aVdpxvq7C2vrG5Vdwu7ezu7R/Yh0cdJVKJSRsLJmQvRIowyklbU81IL5EExSEj3XB8PfO7D0QqKnhLTxLix2jIaUQx0kYK7LLHxBDeB5mXKDqteq0R0eguq9LatBbYFafuzAFXiZuTCsjRDOwvbyBwGhOuMUNK9V0n0X6GpKaYkWnJSxVJEB6jIekbylFMlJ/Nn5jCU6MMYCSkKa7hXP09kaFYqUkcms4Y6ZFa9mbif14/1dGln1GepJpwvFgUpQxqAWeJwAGVBGs2MQRhSc2tEI+QRFib3EomBHf55VXSOau7Tt29Pa80rvI4iqAMTkAVuOACNMANaII2wOARPINX8GY9WS/Wu/WxaC1Y+cwx+APr8wfqppea</latexit> <latexit sha1_base64="NDvxtvxNR4E298JMtvUcitDSJ4I=">AAACBHicbVDLSsNAFJ3UV62vqMtuBovQbkoigi6LblxW6AuaGCbTSTt0MhNnJkIJXbjxV9y4UMStH+HOv3HaZqGtBy4czrmXe+8JE0aVdpxvq7C2vrG5Vdwu7ezu7R/Yh0cdJVKJSRsLJmQvRIowyklbU81IL5EExSEj3XB8PfO7D0QqKnhLTxLix2jIaUQx0kYK7LLHxBDeB5mXKDqteq0R0eguq9LatBbYFafuzAFXiZuTCsjRDOwvbyBwGhOuMUNK9V0n0X6GpKaYkWnJSxVJEB6jIekbylFMlJ/Nn5jCU6MMYCSkKa7hXP09kaFYqUkcms4Y6ZFa9mbif14/1dGln1GepJpwvFgUpQxqAWeJwAGVBGs2MQRhSc2tEI+QRFib3EomBHf55VXSOau7Tt29Pa80rvI4iqAMTkAVuOACNMANaII2wOARPINX8GY9WS/Wu/WxaC1Y+cwx+APr8wfqppea</latexit> ELBOͷظ଴஋ΛαϯϓϧฏۉͰஔ͖׵͑Δ
  12. ϕΠζਪఆΛ࣮૷͢ΔͨΊͷ ΠϯλʔϑΣʔε • ֬཰Ϟσϧͱۙࣅ෼෍ͷσʔλੜ੒ϓϩηεΛهड़ • αϯϓϦϯάͱର਺֬཰ͷαϯϓϧฏۉΛࣗಈԽ • PyroͷΠϯλʔϑΣʔεΛࢀߟʹ͠·ͨ͠

  13. RustͷDLϥΠϒϥϦ • Primitiv-rustʢhttps://github.com/primitiv/primitiv-rustʣ • PrimitivͷRustόΠϯσΟϯά • tch-rsʢhttps://github.com/LaurentMazare/tch-rsʣ • libtorchͷRustόΠϯσΟϯάʢPytorchʣ

  14. ྫɿϕΠζճؼϞσϧ ؍ଌ෼෍ɿ p(y|w, b, x) = N(y; wx + b,

    ) <latexit sha1_base64="yRKolEkL5tkWEZm4ihNViW1YVvs=">AAACPXicbVDLSgMxFM3UV62vUZdugkVosZQZERREKLpxJRX6gk4pmTTThmYeJBm1jPNjbvwHd+7cuFDErVvT6SjaeiHcw7nncHOPHTAqpGE8aZm5+YXFpexybmV1bX1D39xqCD/kmNSxz3zespEgjHqkLqlkpBVwglybkaY9PB/Pm9eEC+p7NTkKSMdFfY86FCOpqK5eCwqRZTtwFN8l/SYuJd2OSzABt3HxNLIwYvAy/paepNJUsP/jsATtu6jY1fNG2UgKzgIzBXmQVrWrP1o9H4cu8SRmSIi2aQSyEyEuKWYkzlmhIAHCQ9QnbQU95BLRiZLrY7inmB50fK6eJ2HC/nZEyBVi5NpK6SI5ENOzMfnfrB1K57gTUS8IJfHwZJETMih9OI4S9ignWLKRAghzqv4K8QBxhKUKPKdCMKdPngWNg7JplM2rw3zlLI0jC3bALigAExyBCrgAVVAHGNyDZ/AK3rQH7UV71z4m0oyWerbBn9I+vwDG0K27</latexit> <latexit sha1_base64="yRKolEkL5tkWEZm4ihNViW1YVvs=">AAACPXicbVDLSgMxFM3UV62vUZdugkVosZQZERREKLpxJRX6gk4pmTTThmYeJBm1jPNjbvwHd+7cuFDErVvT6SjaeiHcw7nncHOPHTAqpGE8aZm5+YXFpexybmV1bX1D39xqCD/kmNSxz3zespEgjHqkLqlkpBVwglybkaY9PB/Pm9eEC+p7NTkKSMdFfY86FCOpqK5eCwqRZTtwFN8l/SYuJd2OSzABt3HxNLIwYvAy/paepNJUsP/jsATtu6jY1fNG2UgKzgIzBXmQVrWrP1o9H4cu8SRmSIi2aQSyEyEuKWYkzlmhIAHCQ9QnbQU95BLRiZLrY7inmB50fK6eJ2HC/nZEyBVi5NpK6SI5ENOzMfnfrB1K57gTUS8IJfHwZJETMih9OI4S9ignWLKRAghzqv4K8QBxhKUKPKdCMKdPngWNg7JplM2rw3zlLI0jC3bALigAExyBCrgAVVAHGNyDZ/AK3rQH7UV71z4m0oyWerbBn9I+vwDG0K27</latexit> <latexit sha1_base64="yRKolEkL5tkWEZm4ihNViW1YVvs=">AAACPXicbVDLSgMxFM3UV62vUZdugkVosZQZERREKLpxJRX6gk4pmTTThmYeJBm1jPNjbvwHd+7cuFDErVvT6SjaeiHcw7nncHOPHTAqpGE8aZm5+YXFpexybmV1bX1D39xqCD/kmNSxz3zespEgjHqkLqlkpBVwglybkaY9PB/Pm9eEC+p7NTkKSMdFfY86FCOpqK5eCwqRZTtwFN8l/SYuJd2OSzABt3HxNLIwYvAy/paepNJUsP/jsATtu6jY1fNG2UgKzgIzBXmQVrWrP1o9H4cu8SRmSIi2aQSyEyEuKWYkzlmhIAHCQ9QnbQU95BLRiZLrY7inmB50fK6eJ2HC/nZEyBVi5NpK6SI5ENOzMfnfrB1K57gTUS8IJfHwZJETMih9OI4S9ignWLKRAghzqv4K8QBxhKUKPKdCMKdPngWNg7JplM2rw3zlLI0jC3bALigAExyBCrgAVVAHGNyDZ/AK3rQH7UV71z4m0oyWerbBn9I+vwDG0K27</latexit> <latexit sha1_base64="yRKolEkL5tkWEZm4ihNViW1YVvs=">AAACPXicbVDLSgMxFM3UV62vUZdugkVosZQZERREKLpxJRX6gk4pmTTThmYeJBm1jPNjbvwHd+7cuFDErVvT6SjaeiHcw7nncHOPHTAqpGE8aZm5+YXFpexybmV1bX1D39xqCD/kmNSxz3zespEgjHqkLqlkpBVwglybkaY9PB/Pm9eEC+p7NTkKSMdFfY86FCOpqK5eCwqRZTtwFN8l/SYuJd2OSzABt3HxNLIwYvAy/paepNJUsP/jsATtu6jY1fNG2UgKzgIzBXmQVrWrP1o9H4cu8SRmSIi2aQSyEyEuKWYkzlmhIAHCQ9QnbQU95BLRiZLrY7inmB50fK6eJ2HC/nZEyBVi5NpK6SI5ENOzMfnfrB1K57gTUS8IJfHwZJETMih9OI4S9ignWLKRAghzqv4K8QBxhKUKPKdCMKdPngWNg7JplM2rw3zlLI0jC3bALigAExyBCrgAVVAHGNyDZ/AK3rQH7UV71z4m0oyWerbBn9I+vwDG0K27</latexit> ࣄલ෼෍ɿ p(w, b) = N(w; 0, 1)N(b; 0, 1) <latexit sha1_base64="m3uvs6Zk1DHEkTDZIqqj+wk07K8=">AAACKnicbZDLSgMxFIYz9VbrbdSlm2ARWihlRgQFEapuXEkFe4HOUDJppg3NXEgyShnmedz4Km66UIpbH8R0OgXbeiDk5/vPITm/EzIqpGFMtNza+sbmVn67sLO7t3+gHx41RRBxTBo4YAFvO0gQRn3SkFQy0g45QZ7DSMsZ3k/91gvhggb+sxyFxPZQ36cuxUgq1NVvw1JsOS58TSrp7STlm9jCiMHHZO5cQ6MCzfIidua4qxeNqpEWXBVmJoogq3pXH1u9AEce8SVmSIiOaYTSjhGXFDOSFKxIkBDhIeqTjpI+8oiw43TVBJ4p0oNuwNXxJUzp34kYeUKMPEd1ekgOxLI3hf95nUi6V3ZM/TCSxMezh9yIQRnAaW6wRznBko2UQJhT9VeIB4gjLFW6BRWCubzyqmieV02jaj5dFGt3WRx5cAJOQQmY4BLUwAOogwbA4A18gE/wpb1rY22ifc9ac1o2cwwWSvv5BZSTo5c=</latexit> <latexit sha1_base64="m3uvs6Zk1DHEkTDZIqqj+wk07K8=">AAACKnicbZDLSgMxFIYz9VbrbdSlm2ARWihlRgQFEapuXEkFe4HOUDJppg3NXEgyShnmedz4Km66UIpbH8R0OgXbeiDk5/vPITm/EzIqpGFMtNza+sbmVn67sLO7t3+gHx41RRBxTBo4YAFvO0gQRn3SkFQy0g45QZ7DSMsZ3k/91gvhggb+sxyFxPZQ36cuxUgq1NVvw1JsOS58TSrp7STlm9jCiMHHZO5cQ6MCzfIidua4qxeNqpEWXBVmJoogq3pXH1u9AEce8SVmSIiOaYTSjhGXFDOSFKxIkBDhIeqTjpI+8oiw43TVBJ4p0oNuwNXxJUzp34kYeUKMPEd1ekgOxLI3hf95nUi6V3ZM/TCSxMezh9yIQRnAaW6wRznBko2UQJhT9VeIB4gjLFW6BRWCubzyqmieV02jaj5dFGt3WRx5cAJOQQmY4BLUwAOogwbA4A18gE/wpb1rY22ifc9ac1o2cwwWSvv5BZSTo5c=</latexit> <latexit sha1_base64="m3uvs6Zk1DHEkTDZIqqj+wk07K8=">AAACKnicbZDLSgMxFIYz9VbrbdSlm2ARWihlRgQFEapuXEkFe4HOUDJppg3NXEgyShnmedz4Km66UIpbH8R0OgXbeiDk5/vPITm/EzIqpGFMtNza+sbmVn67sLO7t3+gHx41RRBxTBo4YAFvO0gQRn3SkFQy0g45QZ7DSMsZ3k/91gvhggb+sxyFxPZQ36cuxUgq1NVvw1JsOS58TSrp7STlm9jCiMHHZO5cQ6MCzfIidua4qxeNqpEWXBVmJoogq3pXH1u9AEce8SVmSIiOaYTSjhGXFDOSFKxIkBDhIeqTjpI+8oiw43TVBJ4p0oNuwNXxJUzp34kYeUKMPEd1ekgOxLI3hf95nUi6V3ZM/TCSxMezh9yIQRnAaW6wRznBko2UQJhT9VeIB4gjLFW6BRWCubzyqmieV02jaj5dFGt3WRx5cAJOQQmY4BLUwAOogwbA4A18gE/wpb1rY22ifc9ac1o2cwwWSvv5BZSTo5c=</latexit> <latexit sha1_base64="hP+6LrUf2d3tZaldqaQQvEKMXyw=">AAAB2XicbZDNSgMxFIXv1L86Vq1rN8EiuCozbnQpuHFZwbZCO5RM5k4bmskMyR2hDH0BF25EfC93vo3pz0JbDwQ+zknIvSculLQUBN9ebWd3b/+gfugfNfzjk9Nmo2fz0gjsilzl5jnmFpXU2CVJCp8LgzyLFfbj6f0i77+gsTLXTzQrMMr4WMtUCk7O6oyaraAdLMW2IVxDC9YaNb+GSS7KDDUJxa0dhEFBUcUNSaFw7g9LiwUXUz7GgUPNM7RRtRxzzi6dk7A0N+5oYkv394uKZ9bOstjdzDhN7Ga2MP/LBiWlt1EldVESarH6KC0Vo5wtdmaJNChIzRxwYaSblYkJN1yQa8Z3HYSbG29D77odBu3wMYA6nMMFXEEIN3AHD9CBLghI4BXevYn35n2suqp569LO4I+8zx84xIo4</latexit> <latexit sha1_base64="qQwvVnEs7rWMl7xI2DykAy56hBM=">AAACH3icbZDLSgMxGIX/qbdaq45u3QSL0EIpM24URFDcuJIK9gKdUjJppg3NXEgyShnmedz4Km66UIovYzptwbYeCDl8JyH5jxtxJpVlTY3c1vbO7l5+v3BQPDw6Nk+KTRnGgtAGCXko2i6WlLOANhRTnLYjQbHvctpyRw+zvPVKhWRh8KLGEe36eBAwjxGsNOqZ91E5cVwPvaXVbHfTym3iEMzRU7pMbpBVRXZlFbtL3DNLVs3KhDaNvTAlWKjeMydOPySxTwNFOJayY1uR6iZYKEY4TQtOLGmEyQgPaEfbAPtUdpNs1BRdaNJHXij0ChTK6N8bCfalHPuuPuljNZTr2Qz+l3Vi5V13ExZEsaIBmT/kxRypEM16Q30mKFF8rA0mgum/IjLEAhOl2y3oEuz1kTdN87JmWzX72YI8nME5lMGGK7iDR6hDAwi8wyd8wbfxYUyM6byunLHo7RRWZPz8ApMRogI=</latexit> <latexit sha1_base64="qQwvVnEs7rWMl7xI2DykAy56hBM=">AAACH3icbZDLSgMxGIX/qbdaq45u3QSL0EIpM24URFDcuJIK9gKdUjJppg3NXEgyShnmedz4Km66UIovYzptwbYeCDl8JyH5jxtxJpVlTY3c1vbO7l5+v3BQPDw6Nk+KTRnGgtAGCXko2i6WlLOANhRTnLYjQbHvctpyRw+zvPVKhWRh8KLGEe36eBAwjxGsNOqZ91E5cVwPvaXVbHfTym3iEMzRU7pMbpBVRXZlFbtL3DNLVs3KhDaNvTAlWKjeMydOPySxTwNFOJayY1uR6iZYKEY4TQtOLGmEyQgPaEfbAPtUdpNs1BRdaNJHXij0ChTK6N8bCfalHPuuPuljNZTr2Qz+l3Vi5V13ExZEsaIBmT/kxRypEM16Q30mKFF8rA0mgum/IjLEAhOl2y3oEuz1kTdN87JmWzX72YI8nME5lMGGK7iDR6hDAwi8wyd8wbfxYUyM6byunLHo7RRWZPz8ApMRogI=</latexit> <latexit sha1_base64="3yIOEeiORCyI24Y1pkBDN7tPwgo=">AAACKnicbZDLSgMxFIYzXmu9jbp0EyxCC6Vk3CiIUHXjSirYC3SGkkkzbWjmQpJRyjDP48ZXcdOFUtz6IKbTFmzrgZCf7z+H5PxuxJlUCI2NtfWNza3t3E5+d2//4NA8Om7IMBaE1knIQ9FysaScBbSumOK0FQmKfZfTpju4n/jNFyokC4NnNYyo4+NewDxGsNKoY95GxcR2PfialrPbTUs3iU0wh4/p3LmGqAyt0iJ257hjFlAFZQVXhTUTBTCrWscc2d2QxD4NFOFYyraFIuUkWChGOE3zdixphMkA92hbywD7VDpJtmoKzzXpQi8U+gQKZvTvRIJ9KYe+qzt9rPpy2ZvA/7x2rLwrJ2FBFCsakOlDXsyhCuEkN9hlghLFh1pgIpj+KyR9LDBROt28DsFaXnlVNC4qFqpYT6hQvZvFkQOn4AwUgQUuQRU8gBqoAwLewAf4BF/GuzEyxsb3tHXNmM2cgIUyfn4Bk1Ojkw==</latexit> <latexit sha1_base64="m3uvs6Zk1DHEkTDZIqqj+wk07K8=">AAACKnicbZDLSgMxFIYz9VbrbdSlm2ARWihlRgQFEapuXEkFe4HOUDJppg3NXEgyShnmedz4Km66UIpbH8R0OgXbeiDk5/vPITm/EzIqpGFMtNza+sbmVn67sLO7t3+gHx41RRBxTBo4YAFvO0gQRn3SkFQy0g45QZ7DSMsZ3k/91gvhggb+sxyFxPZQ36cuxUgq1NVvw1JsOS58TSrp7STlm9jCiMHHZO5cQ6MCzfIidua4qxeNqpEWXBVmJoogq3pXH1u9AEce8SVmSIiOaYTSjhGXFDOSFKxIkBDhIeqTjpI+8oiw43TVBJ4p0oNuwNXxJUzp34kYeUKMPEd1ekgOxLI3hf95nUi6V3ZM/TCSxMezh9yIQRnAaW6wRznBko2UQJhT9VeIB4gjLFW6BRWCubzyqmieV02jaj5dFGt3WRx5cAJOQQmY4BLUwAOogwbA4A18gE/wpb1rY22ifc9ac1o2cwwWSvv5BZSTo5c=</latexit> <latexit sha1_base64="m3uvs6Zk1DHEkTDZIqqj+wk07K8=">AAACKnicbZDLSgMxFIYz9VbrbdSlm2ARWihlRgQFEapuXEkFe4HOUDJppg3NXEgyShnmedz4Km66UIpbH8R0OgXbeiDk5/vPITm/EzIqpGFMtNza+sbmVn67sLO7t3+gHx41RRBxTBo4YAFvO0gQRn3SkFQy0g45QZ7DSMsZ3k/91gvhggb+sxyFxPZQ36cuxUgq1NVvw1JsOS58TSrp7STlm9jCiMHHZO5cQ6MCzfIidua4qxeNqpEWXBVmJoogq3pXH1u9AEce8SVmSIiOaYTSjhGXFDOSFKxIkBDhIeqTjpI+8oiw43TVBJ4p0oNuwNXxJUzp34kYeUKMPEd1ekgOxLI3hf95nUi6V3ZM/TCSxMezh9yIQRnAaW6wRznBko2UQJhT9VeIB4gjLFW6BRWCubzyqmieV02jaj5dFGt3WRx5cAJOQQmY4BLUwAOogwbA4A18gE/wpb1rY22ifc9ac1o2cwwWSvv5BZSTo5c=</latexit> <latexit sha1_base64="m3uvs6Zk1DHEkTDZIqqj+wk07K8=">AAACKnicbZDLSgMxFIYz9VbrbdSlm2ARWihlRgQFEapuXEkFe4HOUDJppg3NXEgyShnmedz4Km66UIpbH8R0OgXbeiDk5/vPITm/EzIqpGFMtNza+sbmVn67sLO7t3+gHx41RRBxTBo4YAFvO0gQRn3SkFQy0g45QZ7DSMsZ3k/91gvhggb+sxyFxPZQ36cuxUgq1NVvw1JsOS58TSrp7STlm9jCiMHHZO5cQ6MCzfIidua4qxeNqpEWXBVmJoogq3pXH1u9AEce8SVmSIiOaYTSjhGXFDOSFKxIkBDhIeqTjpI+8oiw43TVBJ4p0oNuwNXxJUzp34kYeUKMPEd1ekgOxLI3hf95nUi6V3ZM/TCSxMezh9yIQRnAaW6wRznBko2UQJhT9VeIB4gjLFW6BRWCubzyqmieV02jaj5dFGt3WRx5cAJOQQmY4BLUwAOogwbA4A18gE/wpb1rY22ifc9ac1o2cwwWSvv5BZSTo5c=</latexit> <latexit sha1_base64="m3uvs6Zk1DHEkTDZIqqj+wk07K8=">AAACKnicbZDLSgMxFIYz9VbrbdSlm2ARWihlRgQFEapuXEkFe4HOUDJppg3NXEgyShnmedz4Km66UIpbH8R0OgXbeiDk5/vPITm/EzIqpGFMtNza+sbmVn67sLO7t3+gHx41RRBxTBo4YAFvO0gQRn3SkFQy0g45QZ7DSMsZ3k/91gvhggb+sxyFxPZQ36cuxUgq1NVvw1JsOS58TSrp7STlm9jCiMHHZO5cQ6MCzfIidua4qxeNqpEWXBVmJoogq3pXH1u9AEce8SVmSIiOaYTSjhGXFDOSFKxIkBDhIeqTjpI+8oiw43TVBJ4p0oNuwNXxJUzp34kYeUKMPEd1ekgOxLI3hf95nUi6V3ZM/TCSxMezh9yIQRnAaW6wRznBko2UQJhT9VeIB4gjLFW6BRWCubzyqmieV02jaj5dFGt3WRx5cAJOQQmY4BLUwAOogwbA4A18gE/wpb1rY22ifc9ac1o2cwwWSvv5BZSTo5c=</latexit> <latexit sha1_base64="m3uvs6Zk1DHEkTDZIqqj+wk07K8=">AAACKnicbZDLSgMxFIYz9VbrbdSlm2ARWihlRgQFEapuXEkFe4HOUDJppg3NXEgyShnmedz4Km66UIpbH8R0OgXbeiDk5/vPITm/EzIqpGFMtNza+sbmVn67sLO7t3+gHx41RRBxTBo4YAFvO0gQRn3SkFQy0g45QZ7DSMsZ3k/91gvhggb+sxyFxPZQ36cuxUgq1NVvw1JsOS58TSrp7STlm9jCiMHHZO5cQ6MCzfIidua4qxeNqpEWXBVmJoogq3pXH1u9AEce8SVmSIiOaYTSjhGXFDOSFKxIkBDhIeqTjpI+8oiw43TVBJ4p0oNuwNXxJUzp34kYeUKMPEd1ekgOxLI3hf95nUi6V3ZM/TCSxMezh9yIQRnAaW6wRznBko2UQJhT9VeIB4gjLFW6BRWCubzyqmieV02jaj5dFGt3WRx5cAJOQQmY4BLUwAOogwbA4A18gE/wpb1rY22ifc9ac1o2cwwWSvv5BZSTo5c=</latexit> <latexit sha1_base64="m3uvs6Zk1DHEkTDZIqqj+wk07K8=">AAACKnicbZDLSgMxFIYz9VbrbdSlm2ARWihlRgQFEapuXEkFe4HOUDJppg3NXEgyShnmedz4Km66UIpbH8R0OgXbeiDk5/vPITm/EzIqpGFMtNza+sbmVn67sLO7t3+gHx41RRBxTBo4YAFvO0gQRn3SkFQy0g45QZ7DSMsZ3k/91gvhggb+sxyFxPZQ36cuxUgq1NVvw1JsOS58TSrp7STlm9jCiMHHZO5cQ6MCzfIidua4qxeNqpEWXBVmJoogq3pXH1u9AEce8SVmSIiOaYTSjhGXFDOSFKxIkBDhIeqTjpI+8oiw43TVBJ4p0oNuwNXxJUzp34kYeUKMPEd1ekgOxLI3hf95nUi6V3ZM/TCSxMezh9yIQRnAaW6wRznBko2UQJhT9VeIB4gjLFW6BRWCubzyqmieV02jaj5dFGt3WRx5cAJOQQmY4BLUwAOogwbA4A18gE/wpb1rY22ifc9ac1o2cwwWSvv5BZSTo5c=</latexit> Ϟσϧύϥϝʔλɿ ⇥ = {w, b} <latexit sha1_base64="z/T74f1Jkyrsk7wshN6XYj3iTIE=">AAACE3icbZDJSgNBEIZ7XGPcoh69NIaAiIQZEfQiBL14jJANMiH0dGqSJj0L3TVKGOYdvPgqXjwo4tWLN9/GznLQxB8aPv7qoqp+L5ZCo21/W0vLK6tr67mN/ObW9s5uYW+/oaNEcajzSEaq5TENUoRQR4ESWrECFngSmt7wZlxv3oPSIgprOIqhE7B+KHzBGRqrWzhxawNARq+oK8FHN6Wp6/n0ITudgpdRV4n+AN2sWyjaZXsiugjODIpkpmq38OX2Ip4EECKXTOu2Y8fYSZlCwSVkeTfREDM+ZH1oGwxZALqTTm7KaMk4PepHyrwQ6cT93ZGyQOtRYPYrBQwHer42Nv+rtRP0LzupCOMEIeTTQX4iKUZ0HBDtCQUc5cgA40qYXSkfMMU4mhjzJgRn/uRFaJyVHbvs3J0XK9ezOHLkkByRY+KQC1Iht6RK6oSTR/JMXsmb9WS9WO/Wx/TrkjXrOSB/ZH3+AEwxnSw=</latexit> <latexit sha1_base64="z/T74f1Jkyrsk7wshN6XYj3iTIE=">AAACE3icbZDJSgNBEIZ7XGPcoh69NIaAiIQZEfQiBL14jJANMiH0dGqSJj0L3TVKGOYdvPgqXjwo4tWLN9/GznLQxB8aPv7qoqp+L5ZCo21/W0vLK6tr67mN/ObW9s5uYW+/oaNEcajzSEaq5TENUoRQR4ESWrECFngSmt7wZlxv3oPSIgprOIqhE7B+KHzBGRqrWzhxawNARq+oK8FHN6Wp6/n0ITudgpdRV4n+AN2sWyjaZXsiugjODIpkpmq38OX2Ip4EECKXTOu2Y8fYSZlCwSVkeTfREDM+ZH1oGwxZALqTTm7KaMk4PepHyrwQ6cT93ZGyQOtRYPYrBQwHer42Nv+rtRP0LzupCOMEIeTTQX4iKUZ0HBDtCQUc5cgA40qYXSkfMMU4mhjzJgRn/uRFaJyVHbvs3J0XK9ezOHLkkByRY+KQC1Iht6RK6oSTR/JMXsmb9WS9WO/Wx/TrkjXrOSB/ZH3+AEwxnSw=</latexit> <latexit sha1_base64="z/T74f1Jkyrsk7wshN6XYj3iTIE=">AAACE3icbZDJSgNBEIZ7XGPcoh69NIaAiIQZEfQiBL14jJANMiH0dGqSJj0L3TVKGOYdvPgqXjwo4tWLN9/GznLQxB8aPv7qoqp+L5ZCo21/W0vLK6tr67mN/ObW9s5uYW+/oaNEcajzSEaq5TENUoRQR4ESWrECFngSmt7wZlxv3oPSIgprOIqhE7B+KHzBGRqrWzhxawNARq+oK8FHN6Wp6/n0ITudgpdRV4n+AN2sWyjaZXsiugjODIpkpmq38OX2Ip4EECKXTOu2Y8fYSZlCwSVkeTfREDM+ZH1oGwxZALqTTm7KaMk4PepHyrwQ6cT93ZGyQOtRYPYrBQwHer42Nv+rtRP0LzupCOMEIeTTQX4iKUZ0HBDtCQUc5cgA40qYXSkfMMU4mhjzJgRn/uRFaJyVHbvs3J0XK9ezOHLkkByRY+KQC1Iht6RK6oSTR/JMXsmb9WS9WO/Wx/TrkjXrOSB/ZH3+AEwxnSw=</latexit> <latexit sha1_base64="z/T74f1Jkyrsk7wshN6XYj3iTIE=">AAACE3icbZDJSgNBEIZ7XGPcoh69NIaAiIQZEfQiBL14jJANMiH0dGqSJj0L3TVKGOYdvPgqXjwo4tWLN9/GznLQxB8aPv7qoqp+L5ZCo21/W0vLK6tr67mN/ObW9s5uYW+/oaNEcajzSEaq5TENUoRQR4ESWrECFngSmt7wZlxv3oPSIgprOIqhE7B+KHzBGRqrWzhxawNARq+oK8FHN6Wp6/n0ITudgpdRV4n+AN2sWyjaZXsiugjODIpkpmq38OX2Ip4EECKXTOu2Y8fYSZlCwSVkeTfREDM+ZH1oGwxZALqTTm7KaMk4PepHyrwQ6cT93ZGyQOtRYPYrBQwHer42Nv+rtRP0LzupCOMEIeTTQX4iKUZ0HBDtCQUc5cgA40qYXSkfMMU4mhjzJgRn/uRFaJyVHbvs3J0XK9ezOHLkkByRY+KQC1Iht6RK6oSTR/JMXsmb9WS9WO/Wx/TrkjXrOSB/ZH3+AEwxnSw=</latexit> D = {x, y} σʔλɿ ࣄޙ෼෍ɿ p(w, b|x, y) = p(y|w, b, x)p(w, b) p(y|x) <latexit sha1_base64="l4jevX8STKrLdwSKadfeWzOqLxk=">AAACZXicbVFbS8MwGE3rbVan3RRffDA4hA3GaEXQF2Hoi48T3AW2MdIs3cLSC0mqK13/pG+++uLfMOsK6uYHISfnOyeXEydkVEjL+tD0re2d3b3CvnFwWDw6NkvljggijkkbByzgPQcJwqhP2pJKRnohJ8hzGOk6s8dlv/tKuKCB/yLjkAw9NPGpSzGSihqZi7CaDBwXvqX1bHbSRTbP83Wc1u6NgcsRTgwIc3Gci35M9dxU29iuZqTGP9b5sjEyK1bDygpuAjsHFZBXa2S+D8YBjjziS8yQEH3bCuUwQVxSzEhqDCJBQoRnaEL6CvrII2KYZCml8EoxY+gGXA1fwoz97UiQJ0TsOUrpITkV670l+V+vH0n3bphQP4wk8fHqIDdiUAZwGTkcU06wZLECCHOq7grxFKlIpfoYQ4Vgrz95E3SuG7bVsJ9vKs2HPI4COAeXoApscAua4Am0QBtg8KkVtJJW1r70on6qn62kupZ7TsCf0i++AV74tO0=</latexit> <latexit sha1_base64="l4jevX8STKrLdwSKadfeWzOqLxk=">AAACZXicbVFbS8MwGE3rbVan3RRffDA4hA3GaEXQF2Hoi48T3AW2MdIs3cLSC0mqK13/pG+++uLfMOsK6uYHISfnOyeXEydkVEjL+tD0re2d3b3CvnFwWDw6NkvljggijkkbByzgPQcJwqhP2pJKRnohJ8hzGOk6s8dlv/tKuKCB/yLjkAw9NPGpSzGSihqZi7CaDBwXvqX1bHbSRTbP83Wc1u6NgcsRTgwIc3Gci35M9dxU29iuZqTGP9b5sjEyK1bDygpuAjsHFZBXa2S+D8YBjjziS8yQEH3bCuUwQVxSzEhqDCJBQoRnaEL6CvrII2KYZCml8EoxY+gGXA1fwoz97UiQJ0TsOUrpITkV670l+V+vH0n3bphQP4wk8fHqIDdiUAZwGTkcU06wZLECCHOq7grxFKlIpfoYQ4Vgrz95E3SuG7bVsJ9vKs2HPI4COAeXoApscAua4Am0QBtg8KkVtJJW1r70on6qn62kupZ7TsCf0i++AV74tO0=</latexit> <latexit sha1_base64="l4jevX8STKrLdwSKadfeWzOqLxk=">AAACZXicbVFbS8MwGE3rbVan3RRffDA4hA3GaEXQF2Hoi48T3AW2MdIs3cLSC0mqK13/pG+++uLfMOsK6uYHISfnOyeXEydkVEjL+tD0re2d3b3CvnFwWDw6NkvljggijkkbByzgPQcJwqhP2pJKRnohJ8hzGOk6s8dlv/tKuKCB/yLjkAw9NPGpSzGSihqZi7CaDBwXvqX1bHbSRTbP83Wc1u6NgcsRTgwIc3Gci35M9dxU29iuZqTGP9b5sjEyK1bDygpuAjsHFZBXa2S+D8YBjjziS8yQEH3bCuUwQVxSzEhqDCJBQoRnaEL6CvrII2KYZCml8EoxY+gGXA1fwoz97UiQJ0TsOUrpITkV670l+V+vH0n3bphQP4wk8fHqIDdiUAZwGTkcU06wZLECCHOq7grxFKlIpfoYQ4Vgrz95E3SuG7bVsJ9vKs2HPI4COAeXoApscAua4Am0QBtg8KkVtJJW1r70on6qn62kupZ7TsCf0i++AV74tO0=</latexit> <latexit sha1_base64="l4jevX8STKrLdwSKadfeWzOqLxk=">AAACZXicbVFbS8MwGE3rbVan3RRffDA4hA3GaEXQF2Hoi48T3AW2MdIs3cLSC0mqK13/pG+++uLfMOsK6uYHISfnOyeXEydkVEjL+tD0re2d3b3CvnFwWDw6NkvljggijkkbByzgPQcJwqhP2pJKRnohJ8hzGOk6s8dlv/tKuKCB/yLjkAw9NPGpSzGSihqZi7CaDBwXvqX1bHbSRTbP83Wc1u6NgcsRTgwIc3Gci35M9dxU29iuZqTGP9b5sjEyK1bDygpuAjsHFZBXa2S+D8YBjjziS8yQEH3bCuUwQVxSzEhqDCJBQoRnaEL6CvrII2KYZCml8EoxY+gGXA1fwoz97UiQJ0TsOUrpITkV670l+V+vH0n3bphQP4wk8fHqIDdiUAZwGTkcU06wZLECCHOq7grxFKlIpfoYQ4Vgrz95E3SuG7bVsJ9vKs2HPI4COAeXoApscAua4Am0QBtg8KkVtJJW1r70on6qn62kupZ7TsCf0i++AV74tO0=</latexit> ͜ͷ෦෼Λهड़
  15. // Variational distribution fn vdist(rvm: &mut RandomVarManager, mode: ProcessMode, params:

    &[&Node; 4]) { let w_m = params[0]; let w_s = params[1]; let b_m = params[2]; let b_s = params[3]; // Set namespace when computing log probability rvm.namespace_logp = "vdist/".to_string(); let _ = rvm.process("w", &Normal::new(w_m, w_s), mode); let _ = rvm.process("b", &Normal::new(b_m, b_s), mode); } Ϣʔβଆ࣮૷ɿۙࣅ෼෍ rvm.process(ม਺໊, ֬཰෼෍)ɿ αϯϓϦϯάͷ࣮ߦ·ͨ͸αϯϓϧฏۉͷܭࢉʢޙड़ʣ • αϯϓϦϯάͱαϯϓϧฏۉΛ࣮ߦ͢Δؔ਺
  16. // Bayesian linear regression model fn model(rvm: &mut RandomVarManager, mode:

    ProcessMode, minibatch: &MyMiniBatch) { let xs = &minibatch.xs; let ys = &minibatch.ys; // Create Nodes for inputs let xs = F::input(([], xs.len() as u32), xs); let ys = F::input(([], ys.len() as u32), ys); // Set namespace when computing log probability rvm.namespace_logp = "model/".to_string(); // Observation rvm.add_sample("y".to_string(), ys); // Prior let w = rvm.process("w", &Normal::new(&const_node(0.0), &const_node(1.0)), mode); let b = rvm.process("b", &Normal::new(&const_node(0.0), &const_node(1.0)), mode); // Linear regression let ys_pred = w * xs + b; let _ = rvm.process("y", &Normal::new(&ys_pred, &const_node(0.1)), mode); }; Ϣʔβଆ࣮૷ɿ֬཰Ϟσϧ
  17. ϢʔβଆɿELBOͷܭࢉ 1. ֬཰ม਺ΛαϯϓϦϯάͯ͠RandomVarManagerʹొ࿥ 2. ର਺֬཰ʢlogpʣΛܭࢉͯ͠αϯϓϧฏۉΛܭࢉ // Random variable (RV) manager

    let mut rvm = RandomVarManager::new(); // 1. Take samples of RVs vdist(&mut rvm, ProcessMode::SAMPLE, &params); // 2. Compute ELBO by taking sample average vdist(&mut rvm, ProcessMode::LOGP, &params); model(&mut rvm, ProcessMode::LOGP, &minibatch); let elbo = rvm.sum_logps("model/") - rvm.sum_logps(“vdist/"); // Compute negative ELBO as loss function let loss: Node = -1 * elbo;
  18. ϥΠϒϥϦ࣮૷ɿαϯϓϧͱର਺֬཰ͷอ࣋ #[derive(Debug)] pub struct RandomVarManager { pub samples: RefCell<HashMap<String, RvNode>>,

    pub logps: RefCell<HashMap<String, RvNode>>, pub namespace_logp: String, } impl RandomVarManager { pub fn new() -> Self { RandomVarManager { samples: RefCell::new(HashMap::new()), logps: RefCell::new(HashMap::new()), namespace_logp: "".to_string(), } } } • ֬཰ม਺໊ΛΩʔͱ͢ΔHashMapͰαϯϓϧ஋ɺ͓Αͼ ର਺֬཰Λอ࣋ʢ΋ͬͱ៉ྷͳॻ͖ํ͕͋Δ͔΋ʁʣ
  19. ϥΠϒϥϦ࣮૷ɿαϯϓϧͷੜ੒ͱొ࿥ impl RandomVarManager { pub fn add_sample(&self, name: String, sample:

    Node) { self.samples.borrow_mut().insert(name, RvNode::new(sample)); } pub fn process<'b>(&'b self, name: String, dist: &'b (Distribution + 'b), mode: ProcessMode) -> RvNode { match mode { ProcessMode::SAMPLE => { let sample = dist.sample(); self.add_sample(name.clone(), sample); self.get_sample(name.clone()) } ProcessMode::LOGP => { // pass } } } } • Distribution.sample()ͰαϯϓϧΛੜ੒ɺadd_sample()Ͱ ొ࿥ɺ࣍ͷࣜͰ࢖༻͢ΔͨΊʹget_sample()Ͱαϯϓϧͷ ࢀরͷίϐʔΛฦ͢ʢRc<Node>::clone()ʣ
  20. ϥΠϒϥϦ࣮૷ɿର਺֬཰ͷܭࢉ impl RandomVarManager { pub fn process<'b>(&'b self, name: String,

    dist: &'b (Distribution + 'b), mode: ProcessMode) -> RvNode { let name = name.into() match mode { ProcessMode::SAMPLE => { // pass } ProcessMode::LOGP => { let sample = self.get_sample(name.clone()); let logp = dist.logp(sample.0.as_ref()); let mut name_ = self.namespace_logp.to_owned(); name_.push_str(&name); self.logps.borrow_mut().insert(name_, RvNode::new(logp)); sample } } } } • ର਺֬཰ΛܭࢉɺޙͰ࿨ΛऔΔͨΊʹొ࿥
  21. ϥΠϒϥϦ࣮૷ɿର਺֬཰ͷ࿨ impl RandomVarManager { pub fn sum_logps(&self, prefix: &str) ->

    Node { let mut terms = vec![]; for k in self.logps.borrow().keys().filter(|x| x.starts_with(prefix)) { terms.push(self.logps.borrow().get(k).unwrap().sum()); } F_::sum_vars(&terms) } } • ֬཰ม਺໊ͷϓϨϑΟΫεͰϑΟϧλʔΛֻ͚ͯ࿨ΛऔΔ
  22. ݁Ռ • ऩଋޙͷۙࣅ෼෍͔ΒwͱbΛ1,000ճαϯϓϦϯά

  23. ·ͱΊͱࠓޙͷ༧ఆ • ϕΠζճؼͷۙࣅܭࢉΛRustͰ࣮૷ • ଟมྔ෼෍Λѻ͏ͨΊtch-rs্Ͱͷ࣮૷ • ࣮ࡍͷϩϘοτͰಈ͔͢ʢಓͷΓ͸௕͍Ͱ͢ʣ

  24. ֬཰ ෆ͔֬͞ ྫɿΫϥε෼ྨ