рд╡рд┐рднрд┐рдиреНрди рдСрдЯреЛ-рдПрдирдХреЛрдбрд░реНрд╕: рд╕рд┐рджреНрдзрд╛рдВрдд рдФрд░ рдХрд╛рд░реНрдп рдХреЛрдб



рдПрдХ рд╡реИрд░рд┐рдПрдмрд▓ рдСрдЯреЛ-рдПрдирдХреЛрдбрд░ (рдСрдЯреЛ-рдПрдирдХреЛрдбрд░) рдПрдХ рдЬреЗрдирд░рд┐рдХ рдореЙрдбрд▓ рд╣реИ рдЬреЛ рдХрд┐рд╕реА рджрд┐рдП рдЧрдП рдЫрд┐рдкреЗ рд╣реБрдП рд╕реНрдерд╛рди рдореЗрдВ рд╡рд╕реНрддреБрдУрдВ рдХреЛ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░рдирд╛ рд╕реАрдЦрддрд╛ рд╣реИред

рдХрднреА рдЖрдкрдиреЗ рд╕реЛрдЪрд╛ рд╣реИ рдХрд┐ рдПрдХ рд╡реИрдЪрд╛рд░рд┐рдХ рдСрдЯреЛ-рдПрдирдХреЛрдбрд░ (VAE) рдореЙрдбрд▓ рдХреИрд╕реЗ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ? рдпрд╣ рдЬрд╛рдирдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ рдХрд┐ VAE рдЙрд╕ рдбреЗрдЯрд╛рд╕реЗрдЯ рдХреА рддрд░рд╣ рдирдП рдЙрджрд╛рд╣рд░рдг рдХреИрд╕реЗ рдЙрддреНрдкрдиреНрди рдХрд░рддрд╛ рд╣реИ рдЬрд┐рд╕ рдкрд░ рдЗрд╕реЗ рдкреНрд░рд╢рд┐рдХреНрд╖рд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛? рдЗрд╕ рд▓реЗрдЦ рдХреЛ рдкрдврд╝рдиреЗ рдХреЗ рдмрд╛рдж, рдЖрдкрдХреЛ VAE рдХреА рдЖрдВрддрд░рд┐рдХ рдХрд╛рд░реНрдпрдкреНрд░рдгрд╛рд▓реА рдХреА рдПрдХ рд╕реИрджреНрдзрд╛рдВрддрд┐рдХ рд╕рдордЭ рдорд┐рд▓реЗрдЧреА, рдФрд░ рдЖрдк рдЗрд╕реЗ рд╕реНрд╡рдпрдВ рднреА рд▓рд╛рдЧреВ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рдлрд┐рд░ рдореИрдВ рд╣рд╛рде рд╕реЗ рд▓рд┐рдЦреЗ рдЕрдВрдХреЛрдВ рдХреЗ рдПрдХ рд╕реЗрдЯ рдкрд░ рдХрд╛рдо рдХрд░рдиреЗ рд╡рд╛рд▓реЗ VAE рдХреЛрдб рдХреЛ рджрд┐рдЦрд╛рдКрдВрдЧрд╛, рдФрд░ рдирдП рдЕрдВрдХ рдЙрддреНрдкрдиреНрди рдХрд░рдиреЗ рдореЗрдВ рд╣рдореЗрдВ рдХреБрдЫ рдордЬрд╝рд╛ рдЖрдПрдЧрд╛!

рдкреАрдврд╝реА рдХреЗ рдореЙрдбрд▓


VAE рдПрдХ рдЬреЗрдирд░реЗрдЯрд┐рд╡ рдореЙрдбрд▓ рд╣реИ - рдпрд╣ рдкреНрд░рд╢рд┐рдХреНрд╖рдг рдбреЗрдЯрд╛ рдХреА рд╕рдВрднрд╛рд╡рдирд╛ рдШрдирддреНрд╡ (рдкреАрдбреАрдПрдл) рдХрд╛ рдЕрдиреБрдорд╛рди рд▓рдЧрд╛рддрд╛ рд╣реИред рдпрджрд┐ рдЗрд╕ рддрд░рд╣ рдХреЗ рдореЙрдбрд▓ рдХреЛ рдкреНрд░рд╛рдХреГрддрд┐рдХ рдЫрд╡рд┐рдпреЛрдВ рдореЗрдВ рдкреНрд░рд╢рд┐рдХреНрд╖рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рддреЛ рдпрд╣ рд╢реЗрд░ рдХреА рдЫрд╡рд┐ рдХреЛ рдПрдХ рдЙрдЪреНрдЪ рд╕рдВрднрд╛рд╡рдирд╛ рдореВрд▓реНрдп рдФрд░ рдпрд╛рджреГрдЪреНрдЫрд┐рдХ рдмрдХрд╡рд╛рд╕ рдХреА рдЫрд╡рд┐ рдХреЛ рдХрдо рдореВрд▓реНрдп рдкреНрд░рджрд╛рди рдХрд░реЗрдЧрд╛ред

VAE рдореЙрдбрд▓ рдкреНрд░рд╢рд┐рдХреНрд╖рд┐рдд рдкреАрдбреАрдПрдл рд╕реЗ рдЙрджрд╛рд╣рд░рдг рд▓реЗрдиреЗ рдореЗрдВ рднреА рд╕рдХреНрд╖рдо рд╣реИ, рдЬреЛ рд╕рдмрд╕реЗ рдардВрдбрд╛ рд╣рд┐рд╕реНрд╕рд╛ рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рдпрд╣ рдореВрд▓ рдбреЗрдЯрд╛рд╕реЗрдЯ рдХреЗ рд╕рдорд╛рди рдирдП рдЙрджрд╛рд╣рд░рдг рдЙрддреНрдкрдиреНрди рдХрд░ рд╕рдХрддрд╛ рд╣реИ!

рдореИрдВ рд╣рд╕реНрддрд▓рд┐рдЦрд┐рдд рд╕рдВрдЦреНрдпрд╛ рд╕реЗрдЯ MNIST рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ VAE рдХреА рд╡реНрдпрд╛рдЦреНрдпрд╛ рдХрд░реВрдБрдЧрд╛ред рдореЙрдбрд▓ рдХреЗ рд▓рд┐рдП рдЗрдирдкреБрдЯ рдбреЗрдЯрд╛ рдкреНрд░рд╛рд░реВрдк рдореЗрдВ рдЪрд┐рддреНрд░ рд╣реИрдВ  mathbbR28├Ч28 ред рдореЙрдбрд▓ рдХреЛ рдЗрд╕ рдмрд╛рдд рдХреА рд╕рдВрднрд╛рд╡рдирд╛ рдХрд╛ рдЖрдХрд▓рди рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП рдХрд┐ рдЗрдирдкреБрдЯ рдПрдХ рдЕрдВрдХ рдХреА рддрд░рд╣ рдХрд┐рддрдирд╛ рджрд┐рдЦрддрд╛ рд╣реИред

рдЫрд╡рд┐ рдореЙрдбрд▓рд┐рдВрдЧ рдХрд╛рд░реНрдп


рдкрд┐рдХреНрд╕рд▓ рдХреЗ рдмреАрдЪ рдЗрдВрдЯрд░реИрдХреНрд╢рди рдПрдХ рдореБрд╢реНрдХрд┐рд▓ рдХрд╛рдо рд╣реИред рдпрджрд┐ рдкрд┐рдХреНрд╕реЗрд▓ рдПрдХ рджреВрд╕рд░реЗ рд╕реЗ рд╕реНрд╡рддрдВрддреНрд░ рд╣реИрдВ, рддреЛ рдЖрдкрдХреЛ рд╕реНрд╡рддрдВрддреНрд░ рд░реВрдк рд╕реЗ рдкреНрд░рддреНрдпреЗрдХ рдкрд┐рдХреНрд╕реЗрд▓ рдХреЗ рдкреАрдбреАрдПрдл рдХрд╛ рдЕрдзреНрдпрдпрди рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ, рдЬреЛ рдХрд┐ рдЖрд╕рд╛рди рд╣реИред рдЪрдпрди рднреА рд╕рд░рд▓ рд╣реИ - рд╣рдо рдкреНрд░рддреНрдпреЗрдХ рдкрд┐рдХреНрд╕реЗрд▓ рдХреЛ рдЕрд▓рдЧ рд╕реЗ рд▓реЗрддреЗ рд╣реИрдВред

рд▓реЗрдХрд┐рди рдбрд┐рдЬрд┐рдЯрд▓ рдЫрд╡рд┐рдпреЛрдВ рдореЗрдВ, рдкрд┐рдХреНрд╕рд▓ рдХреЗ рдмреАрдЪ рд╕реНрдкрд╖реНрдЯ рдирд┐рд░реНрднрд░рддрд╛рдПрдВ рд╣реИрдВред рдпрджрд┐ рдЖрдк рдмрд╛рдПрдВ рдЖрдзреЗ рдкрд░ рдЪрд╛рд░ рдХреА рд╢реБрд░реБрдЖрдд рджреЗрдЦрддреЗ рд╣реИрдВ, рддреЛ рдЖрдк рдмрд╣реБрдд рдЖрд╢реНрдЪрд░реНрдпрдЪрдХрд┐рдд рд╣реЛрдВрдЧреЗ рдпрджрд┐ рджрд╛рд╣рд┐рдирд╛ рдЖрдзрд╛ рд╢реВрдиреНрдп рдХрд╛ рдкреВрд░рд╛ рд╣реЛрддрд╛ рд╣реИред рдкрд░ рдХреНрдпреЛрдВ? редред

рдЫрд┐рдкреА рд╣реБрдИ рдЬрдЧрд╣


рдЖрдк рдЬрд╛рдирддреЗ рд╣реИрдВ рдХрд┐ рдкреНрд░рддреНрдпреЗрдХ рдЫрд╡рд┐ рдореЗрдВ рдПрдХ рдирдВрдмрд░ рд╣реЛрддрд╛ рд╣реИред рдХреЗ рд▓рд┐рдП рдкреНрд░рд╡реЗрд╢  mathbbR28├Ч28 рд╕реНрдкрд╖реНрдЯ рд░реВрдк рд╕реЗ рдпрд╣ рдЬрд╛рдирдХрд╛рд░реА рдирд╣реАрдВ рд╣реИред рд▓реЗрдХрд┐рди рдпрд╣ рдХрд╣реАрдВ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП ... рдпрд╣ "рдХрд╣реАрдВ" рдПрдХ рдЫрд┐рдкреА рд╣реБрдИ рдЬрдЧрд╣ рд╣реИред



рдЖрдк рдЫрд┐рдкреА рд╣реБрдИ рдЬрдЧрд╣ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд╕реЛрдЪ рд╕рдХрддреЗ рд╣реИрдВ  mathbbRk рдЬрд╣рд╛рдВ рдкреНрд░рддреНрдпреЗрдХ рд╡реЗрдХреНрдЯрд░ рд╢рд╛рдорд┐рд▓ рд╣реИ k рдПрдХ рдЫрд╡рд┐ рдХреЛ рдкреНрд░рд╕реНрддреБрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЖрд╡рд╢реНрдпрдХ рдЬрд╛рдирдХрд╛рд░реА рдХреЗ рдЯреБрдХрдбрд╝реЗред рдорд╛рди рд▓реАрдЬрд┐рдП рдХрд┐ рдкрд╣рд▓реЗ рдЖрдпрд╛рдо рдореЗрдВ рдПрдХ рд╕рдВрдЦреНрдпрд╛ рдПрдХ рдЕрдВрдХ рджреНрд╡рд╛рд░рд╛ рджрд░реНрд╢рд╛рдИ рдЧрдИ рд╣реИред рджреВрд╕рд░рд╛ рдЖрдпрд╛рдо рдЪреМрдбрд╝рд╛рдИ рд╣реЛ рд╕рдХрддрд╛ рд╣реИред рддреАрд╕рд░рд╛ рдХреЛрдг рд╣реИ, рдФрд░ рдЗрд╕реА рддрд░рд╣ред

рд╣рдо рдПрдХ рд╡реНрдпрдХреНрддрд┐ рдХреЛ рджреЛ рдЪрд░рдгреЛрдВ рдореЗрдВ рдЦреАрдВрдЪрдиреЗ рдХреА рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХреА рдХрд▓реНрдкрдирд╛ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рд╕рдмрд╕реЗ рдкрд╣рд▓реЗ, рдПрдХ рд╡реНрдпрдХреНрддрд┐ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд░рддрд╛ рд╣реИ - рд╣реЛрд╢рдкреВрд░реНрд╡рдХ рдпрд╛ рдирд╣реАрдВ - рд╕рдВрдЦреНрдпрд╛ рдХреА рд╕рднреА рд╡рд┐рд╢реЗрд╖рддрд╛рдПрдВ рдЬреЛ рдкреНрд░рджрд░реНрд╢рд┐рдд рд╣реЛрдиреЗ рд╡рд╛рд▓реА рд╣реИрдВред рдЗрд╕рдХреЗ рдмрд╛рдж, рдпреЗ рдирд┐рд░реНрдгрдп рдХрд╛рдЧрдЬ рдкрд░ рд╕реНрдЯреНрд░реЛрдХ рдореЗрдВ рдмрджрд▓ рдЬрд╛рддреЗ рд╣реИрдВред

VAE рдЗрд╕ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХреЛ рдЕрдиреБрдХрд░рдг рдХрд░рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░ рд░рд╣рд╛ рд╣реИ: рдПрдХ рджреА рдЧрдИ рдЫрд╡рд┐ рдХреЗ рд▓рд┐рдП x рд╣рдо рдХрдо рд╕реЗ рдХрдо рдПрдХ рдЫрд┐рдкреЗ рд╣реБрдП рд╡реЗрдХреНрдЯрд░ рдХреЛ рдвреВрдВрдврдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ рдЬреЛ рдЗрд╕рдХрд╛ рд╡рд░реНрдгрди рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ; рдПрдХ рд╡реЗрдХреНрдЯрд░ рдЬрд┐рд╕рдореЗрдВ рдЙрддреНрдкрд╛рджрди рдХреЗ рд▓рд┐рдП рдирд┐рд░реНрджреЗрд╢ рд╣реИрдВ x ред рдХреБрд▓ рд╕рдВрднрд╛рд╡рдирд╛ рдХреЗ рд╕реВрддреНрд░ рджреНрд╡рд╛рд░рд╛ рдЗрд╕реЗ рддреИрдпрд╛рд░ рдХрд░рдирд╛, рд╣рдореЗрдВ рдкреНрд░рд╛рдкреНрдд рд╣реЛрддрд╛ рд╣реИ P(x)= intP(x|z)P(z)dz ред

рдЖрдЗрдП рдЗрд╕ рд╕рдореАрдХрд░рдг рдореЗрдВ рдХреБрдЫ рдЙрдЪрд┐рдд рд╕рдордЭ рд░рдЦреЗрдВ:

  • рдЗрдВрдЯреАрдЧреНрд░рд▓ рдХрд╛ рдорддрд▓рдм рд╣реИ рдХрд┐ рдЙрдореНрдореАрджрд╡рд╛рд░реЛрдВ рдХреЛ рд╕рднреА рдЫрд┐рдкреЗ рд╣реБрдП рд╕реНрдерд╛рди рдореЗрдВ рддрд▓рд╛рд╢ рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдПред
  • рдкреНрд░рддреНрдпреЗрдХ рдЙрдореНрдореАрджрд╡рд╛рд░ рдХреЗ рд▓рд┐рдП z рд╣рдо рд╕рд╡рд╛рд▓ рдкреВрдЫрддреЗ рд╣реИрдВ: рдХреНрдпрд╛ рдпрд╣ рдЙрддреНрдкрдиреНрди рдХрд░рдирд╛ рд╕рдВрднрд╡ рд╣реИ x рдирд┐рд░реНрджреЗрд╢реЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ z ? рдХреНрдпрд╛ рдпрд╣ рдХрд╛рдлреА рдмрдбрд╝рд╛ рд╣реИ P(x|z) ? рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдпрджрд┐ z рдЕрдВрдХ 7 рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЬрд╛рдирдХрд╛рд░реА рдПрдирдХреЛрдб рдХрд░рддрд╛ рд╣реИ, рддреЛ рдЫрд╡рд┐ 8 рд╕рдВрднрд╡ рдирд╣реАрдВ рд╣реИред рд╣рд╛рд▓рд╛рдВрдХрд┐, рдЫрд╡рд┐ 1 рд╕реНрд╡реАрдХрд╛рд░реНрдп рд╣реИ рдХреНрдпреЛрдВрдХрд┐ 1 рдФрд░ 7 рд╕рдорд╛рди рд╣реИрдВред
  • рд╣рдореЗрдВ рдПрдХ рдЕрдЪреНрдЫрд╛ рдорд┐рд▓рд╛ред z ? рдмрд╣реБрдд рдмрдврд╝рд┐рдпрд╛! рд▓реЗрдХрд┐рди рдПрдХ рд╕реЗрдХрдВрдб рд░реБрдХрд┐рдП ... рдХрд┐рддрдирд╛ рд╣реИ z рд╕рдВрднрд╛рд╡рдирд╛ рд╣реИ? P(z) рдХрд╛рдлреА рдмрдбрд╝рд╛ рд╣реИ? рдЙрд▓реНрдЯреЗ рдирдВрдмрд░ рдХреА рдЫрд╡рд┐ рдкрд░ рд╡рд┐рдЪрд╛рд░ рдХрд░реЗрдВ 7. рдПрдХ рдЖрджрд░реНрд╢ рдореИрдЪ 7 рдХрд╛ рд╡рд░реНрдгрди рдХрд░рддреЗ рд╣реБрдП рдПрдХ рдЫрд┐рдкрд╛ рд╣реБрдЖ рд╡реЗрдХреНрдЯрд░ рд╣реЛрдЧрд╛, рдЬрд╣рд╛рдВ рдХреЛрдг рдХрд╛ рдЖрдХрд╛рд░ 180 ┬░ рдкрд░ рд╕реЗрдЯ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред рд╣рд╛рд▓рд╛рдБрдХрд┐ рдРрд╕реЗ z рдЗрд╕рдХреА рд╕рдВрднрд╛рд╡рдирд╛ рдХрдо рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рдЖрдорддреМрд░ рдкрд░ рд╕рдВрдЦреНрдпрд╛ 180 ┬░ рдХреЗ рдХреЛрдг рдкрд░ рдирд╣реАрдВ рд▓рд┐рдЦреА рдЬрд╛рддреА рд╣реИред

VAE рдкреНрд░рд╢рд┐рдХреНрд╖рдг рдХрд╛ рд▓рдХреНрд╖реНрдп рдЕрдзрд┐рдХрддрдо рдХрд░рдирд╛ рд╣реИ P(x) ред рд╣рдо рдореЙрдбрд▓ рдХрд░реЗрдВрдЧреЗ P(x|z) рдмрд╣реБрдЖрдпрд╛рдореА рдЧрд╛рдКрд╕реА рд╡рд┐рддрд░рдг рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛  mathcalN(f(z), sigma2 cdotI) ред

рдЪ(z) рдПрдХ рддрдВрддреНрд░рд┐рдХрд╛ рдиреЗрдЯрд╡рд░реНрдХ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдмрдирд╛рдпрд╛ рдЧрдпрд╛ред  рд╕рд┐рдЧреНрдорд╛ рдкрд╣рдЪрд╛рди рдореИрдЯреНрд░рд┐рдХреНрд╕ рдХреЛ рдЧреБрдгрд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рд╣рд╛рдЗрдкрд░рдкреИрд░реЗрдЯ рд╣реИ рдореИрдВ ред

рдзреНрдпрд╛рди рд░рдЦреЗрдВ рдХрд┐ рдЪ - рдпрд╣ рд╡рд╣ рд╣реИ рдЬреЛ рд╣рдо рдПрдХ рдкреНрд░рд╢рд┐рдХреНрд╖рд┐рдд рдореЙрдбрд▓ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдирдИ рдЫрд╡рд┐рдпрд╛рдВ рдЙрддреНрдкрдиреНрди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд░реЗрдВрдЧреЗред рдПрдХ рдЧреМрд╕рд┐рдпрди рд╡рд┐рддрд░рдг рдХреЛ рдУрд╡рд░рд▓реИрдк рдХрд░рдирд╛ рдХреЗрд╡рд▓ рд╢реИрдХреНрд╖рд┐рдХ рдЙрджреНрджреЗрд╢реНрдпреЛрдВ рдХреЗ рд▓рд┐рдП рд╣реИред рдпрджрд┐ рд╣рдо рдбрд┐рд░рд╛рдХ рдбреЗрд▓реНрдЯрд╛ рдлрд╝рдВрдХреНрд╢рди (рдпрд╛рдиреА, рдирд┐рдпрддрд╛рддреНрдордХ) рд▓реЗрддреЗ рд╣реИрдВ x=f(z) ), рдлрд┐рд░ рд╣рдо рдврд╛рд▓ рд╡рдВрд╢ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдореЙрдбрд▓ рдХреЛ рдкреНрд░рд╢рд┐рдХреНрд╖рд┐рдд рдХрд░рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рдирд╣реАрдВ рд╣реЛрдВрдЧреЗ!

рдЫрд┐рдкреЗ рд╣реБрдП рд╕реНрдерд╛рди рдХреЗ рдЪрдорддреНрдХрд╛рд░


рдЫрд┐рдкреЗ рд╣реБрдП рд╕реНрдерд╛рди рдХреЗ рджреГрд╖реНрдЯрд┐рдХреЛрдг рдореЗрдВ рджреЛ рдмрдбрд╝реА рд╕рдорд╕реНрдпрд╛рдПрдВ рд╣реИрдВ:

  1. рдкреНрд░рддреНрдпреЗрдХ рдЖрдпрд╛рдо рдореЗрдВ рдХреНрдпрд╛ рдЬрд╛рдирдХрд╛рд░реА рд╣реЛрддреА рд╣реИ? рдХреБрдЫ рдЖрдпрд╛рдо рдЕрдореВрд░реНрдд рддрддреНрд╡реЛрдВ рд╕реЗ рд╕рдВрдмрдВрдзрд┐рдд рд╣реЛ рд╕рдХрддреЗ рд╣реИрдВ, рдЬреИрд╕реЗ рд╢реИрд▓реАред рднрд▓реЗ рд╣реА рд╕рднреА рдЖрдпрд╛рдореЛрдВ рдХреА рд╡реНрдпрд╛рдЦреНрдпрд╛ рдХрд░рдирд╛ рдЖрд╕рд╛рди рдерд╛, рд╣рдо рдбреЗрдЯрд╛ рд╕реЗрдЯ рдкрд░ рд▓реЗрдмрд▓ рдЕрд╕рд╛рдЗрди рдирд╣реАрдВ рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВред рдпрд╣ рджреГрд╖реНрдЯрд┐рдХреЛрдг рдЕрдиреНрдп рдбреЗрдЯрд╛ рд╕реЗрдЯ рдХреЗ рдкреИрдорд╛рдиреЗ рдкрд░ рдирд╣реАрдВ рд╣реИред
  2. рдЖрдпрд╛рдореЛрдВ рдХреЗ рдмреАрдЪ рд╕рдВрдмрдВрдз рд╣реЛрдиреЗ рдкрд░ рдЫрд┐рдкреА рд╣реБрдИ рдЬрдЧрд╣ рдХреЛ рднреНрд░рдорд┐рдд рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдПрдХ рдмрд╣реБрдд рдЬрд▓реНрджреА рддреИрдпрд╛рд░ рдХреА рдЧрдИ рд╕рдВрдЦреНрдпрд╛ рдПрдХ рд╕рд╛рде рдХреЛрдгреАрдп рдФрд░ рдкрддрд▓реЗ рд╕реНрдЯреНрд░реЛрдХ рдХреА рдЙрдкрд╕реНрдерд┐рддрд┐ рдХрд╛ рдХрд╛рд░рдг рдмрди рд╕рдХрддреА рд╣реИред рдЗрди рдирд┐рд░реНрднрд░рддрд╛рдУрдВ рдХреЛ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд░рдирд╛ рдореБрд╢реНрдХрд┐рд▓ рд╣реИред

рдЧрд╣рд░реА рд╢рд┐рдХреНрд╖рд╛ рдмрдЪрд╛рд╡ рдХреЗ рд▓рд┐рдП рдЖрддреА рд╣реИ


рдпрд╣ рдкрддрд╛ рдЪрд▓рддрд╛ рд╣реИ рдХрд┐ рдкреНрд░рддреНрдпреЗрдХ рд╡рд┐рддрд░рдг рдорд╛рдирдХ рдмрд╣реБрдЖрдпрд╛рдореА рдЧрд╛рдКрд╕реА рд╡рд┐рддрд░рдг рдХреЗ рдмрдЬрд╛рдп рдПрдХ рдЬрдЯрд┐рд▓ рдлрд╝рдВрдХреНрд╢рди рдХреЛ рд▓рд╛рдЧреВ рдХрд░рдХреЗ рдЙрддреНрдкрдиреНрди рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред

рд╣рдо рдЪреБрдиреЗрдВ P(z) рдПрдХ рдорд╛рдирдХ рдмрд╣реБрдЖрдпрд╛рдореА рдЧрд╛рдКрд╕реА рд╡рд┐рддрд░рдг рдХреЗ рд░реВрдк рдореЗрдВред рдЗрд╕ рдкреНрд░рдХрд╛рд░ рдПрдХ рддрдВрддреНрд░рд┐рдХрд╛ рдиреЗрдЯрд╡рд░реНрдХ рджреНрд╡рд╛рд░рд╛ рдореЙрдбрд▓рд┐рдВрдЧ рдХреА рдЬрд╛рддреА рд╣реИ рдЪ рджреЛ рдЪрд░рдгреЛрдВ рдореЗрдВ рд╡рд┐рднрд╛рдЬрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ:

  1. рдкрд╣рд▓реА рдкрд░рддреЗрдВ рдЧреЙрд╕рд┐рдпрди рдбрд┐рд╕реНрдЯреНрд░реАрдмреНрдпреВрд╢рди рдХреЛ рдЫрд┐рдкреЗ рд╣реБрдП рд╕реНрдерд╛рди рдкрд░ рд╡рд╛рд╕реНрддрд╡рд┐рдХ рд╡рд┐рддрд░рдг рдореЗрдВ рдореИрдк рдХрд░рддреА рд╣реИрдВред рд╣рдо рдорд╛рдкреЛрдВ рдХреА рд╡реНрдпрд╛рдЦреНрдпрд╛ рдирд╣реАрдВ рдХрд░ рд╕рдХрддреЗ, рд▓реЗрдХрд┐рди рдЗрд╕рд╕реЗ рдХреЛрдИ рдлрд░реНрдХ рдирд╣реАрдВ рдкрдбрд╝рддрд╛ред
  2. рдмрд╛рдж рдХреА рдкрд░рддреЛрдВ рдХреЛ рдЫрд┐рдкреА рд╣реБрдИ рдЬрдЧрд╣ рд╕реЗ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ P(x|z) ред

рддреЛ рд╣рдо рдЗрд╕ рдЬрд╛рдирд╡рд░ рдХреЛ рдХреИрд╕реЗ рдкреНрд░рд╢рд┐рдХреНрд╖рд┐рдд рдХрд░рддреЗ рд╣реИрдВ?


рдХреЗ рд▓рд┐рдП рд╕реВрддреНрд░ P(x) рдЕрдШреБрд▓рдирд╢реАрд▓, рдЗрд╕рд▓рд┐рдП, рд╣рдо рдЗрд╕реЗ рдореЛрдВрдЯреЗ рдХрд╛рд░реНрд▓реЛ рд╡рд┐рдзрд┐ рджреНрд╡рд╛рд░рд╛ рдЕрдиреБрдорд╛рдирд┐рдд рдХрд░рддреЗ рд╣реИрдВ:

  1. рдЪрдпрди \ {z_i \} _ {i = 1} ^ n рдкрд┐рдЫрд▓реЗ рд╕реЗ P(z)
  2. рдХреЗ рд╕рд╛рде рдкреНрд░рддрд┐рджрд╛рди P(x) рд▓рдЧрднрдЧ frac1n sumni=1P(x|zi)

рдмрд╣реБрдд рдмрдврд╝рд┐рдпрд╛! рддреЛ рдмрд╕ рдмрд╣реБрдд рд╕рд╛рд░реЗ рдкреНрд░рдпрд╛рд╕ рдХрд░реЗрдВ z рдФрд░ рдмрдЧ рдкреНрд░рдЪрд╛рд░ рдкрд╛рд░реНрдЯреА рд╢реБрд░реВ рдХрд░реЗрдВ!

рджреБрд░реНрднрд╛рдЧреНрдп рд╕реЗ x рдмрд╣реБрдд рдмрд╣реБрдЖрдпрд╛рдореА, рдПрдХ рдЙрдЪрд┐рдд рдЕрдиреБрдорд╛рди рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдХрдИ рдирдореВрдиреЛрдВ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИред рдореЗрд░рд╛ рдорддрд▓рдм рд╣реИ рдЕрдЧрд░ рддреБрдо рдХреЛрд╢рд┐рд╢ рдХрд░реЛ z , рддреЛ рдЫрд╡рд┐ рдкрд╛рдиреЗ рдХреА рд╕рдВрднрд╛рд╡рдирд╛ рдХреНрдпрд╛ рд╣реИ рдЬреЛ рдХреБрдЫ рдЗрд╕ рддрд░рд╣ рджрд┐рдЦрддреА рд╣реИ x ? рдпрд╣, рд╡реИрд╕реЗ, рдХреНрдпреЛрдВ рдмрддрд╛рддреЗ рд╣реИрдВ P(x|z) рдХрд┐рд╕реА рднреА рд╕рдВрднрд╛рд╡рд┐рдд рдЫрд╡рд┐ рдХреЗ рд▓рд┐рдП рдПрдХ рд╕рдХрд╛рд░рд╛рддреНрдордХ рд╕рдВрднрд╛рд╡рдирд╛ рдорд╛рди рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП, рдЕрдиреНрдпрдерд╛ рдореЙрдбрд▓ рд╕реАрдЦрдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рдирд╣реАрдВ рд╣реЛрдЧрд╛: рдирдореВрдирд╛ z рдПрдХ рдЫрд╡рд┐ рдореЗрдВ рдкрд░рд┐рдгрд╛рдо рд╣реЛрдЧрд╛ рдЬреЛ рд▓рдЧрднрдЧ рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ рдЕрд▓рдЧ рд╣реИ x , рдФрд░ рдпрджрд┐ рд╕рдВрднрд╛рд╡рдирд╛ 0 рд╣реИ, рддреЛ рдЧреНрд░реЗрдбрд┐рдПрдВрдЯреНрд╕ рдкреНрд░рдЪрд╛рд░ рдирд╣реАрдВ рдХрд░ рдкрд╛рдПрдВрдЧреЗред

рдЗрд╕ рд╕рдорд╕реНрдпрд╛ рдХреЛ рдХреИрд╕реЗ рд╣рд▓ рдХрд░реЗрдВ?

рд░рд╛рд╕реНрддрд╛ рдХрд╛рдЯреЛ!




рдЕрдзрд┐рдХрд╛рдВрд╢ рдирдореВрдиреЗ z рдЪрдпрди рд╕реЗ рдХреБрдЫ рднреА рдирд╣реАрдВ рдЬреЛрдбрд╝рд╛ рдЬрд╛рдПрдЧрд╛ P(x) - рд╡реЗ рдЗрд╕рдХреА рд╕реАрдорд╛рдУрдВ рд╕реЗ рдмрд╣реБрдд рджреВрд░ рд╣реИрдВред рдЕрдм, рдпрджрд┐ рдЖрдк рдкрд╣рд▓реЗ рд╕реЗ рдЬрд╛рдирддреЗ рдереЗ рдХрд┐ рдЙрдиреНрд╣реЗрдВ рдХрд╣рд╛рдВ рд╕реЗ рд▓реЗрдирд╛ рд╣реИ ...

рджрд░реНрдЬ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ Q(z|x) ред рдпрд╣ рдХреНрдпреВ рдХреЛ рдЙрдЪреНрдЪ рд╕рдВрднрд╛рд╡рдирд╛ рдорд╛рди рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдкреНрд░рд╢рд┐рдХреНрд╖рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ z рдЙрддреНрдкрдиреНрди рд╣реЛрдиреЗ рдХреА рд╕рдВрднрд╛рд╡рдирд╛ рд╣реИ x ред рдЕрдм рдЖрдк рдореЛрдВрдЯреЗ рдХрд╛рд░реНрд▓реЛ рд╡рд┐рдзрд┐ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдПрдХ рдЖрдХрд▓рди рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рдЬрд┐рд╕рд╕реЗ рдмрд╣реБрдд рдХрдо рдирдореВрдиреЗ рд▓реЗ рд╕рдХрддреЗ рд╣реИрдВ рдХреНрдпреВ ред

рджреБрд░реНрднрд╛рдЧреНрдп рд╕реЗ, рдПрдХ рдирдИ рд╕рдорд╕реНрдпрд╛ рдкреИрджрд╛ рд╣реЛрддреА рд╣реИ! рдЗрд╕рдХреЗ рдмрдЬрд╛рдп рдЕрдзрд┐рдХрддрдо P(x)= intP(x|z)P(z)dz= mathbbEz simP(z)P(x|z) рд╣рдо рдЕрдзрд┐рдХрддрдо  mathbbEz simQ(z|x)P(x|z) ред рд╡реЗ рдПрдХ рджреВрд╕рд░реЗ рд╕реЗ рдХреИрд╕реЗ рд╕рдВрдмрдВрдзрд┐рдд рд╣реИрдВ?

рд╡рд┐рд╡рд┐рдзрддрд╛рдкреВрд░реНрдг рдирд┐рд╖реНрдХрд░реНрд╖


рдкрд░рд┐рд╡рд░реНрддрдиреАрдп рдирд┐рд╖реНрдХрд░реНрд╖ рдПрдХ рдЕрд▓рдЧ рд▓реЗрдЦ рдХрд╛ рд╡рд┐рд╖рдп рд╣реИ, рдЗрд╕рд▓рд┐рдП рдореИрдВ рдЗрд╕ рдкрд░ рдпрд╣рд╛рдВ рд╡рд┐рд╕реНрддрд╛рд░ рд╕реЗ рдирд╣реАрдВ рд▓рд┐рдЦреВрдВрдЧрд╛ред рдореИрдВ рдХреЗрд╡рд▓ рдпрд╣ рдХрд╣ рд╕рдХрддрд╛ рд╣реВрдВ рдХрд┐ рдпреЗ рд╡рд┐рддрд░рдг рдЗрд╕ рд╕рдореАрдХрд░рдг рд╕реЗ рд╕рдВрдмрдВрдзрд┐рдд рд╣реИрдВ:

logP(X)тИТ mathcalKL[Q(z|x)||P(z|x)]= mathbbEz simQ(z|x)[[PP(x|z)]тИТ mathcalKL[Q(z|x)|рдкреА(рдЬреЗрдб)]


 mathcalKL рдХреБрд▓реНрдмреИрдХ - рд▓рд╛рдЗрдмрд▓рд░ рджреВрд░реА рд╣реИ , рдЬреЛ рджреЛ рд╡рд┐рддрд░рдгреЛрдВ рдХреА рд╕рдорд╛рдирддрд╛ рдХрд╛ рд╕рд╣рдЬрддрд╛ рд╕реЗ рдЖрдХрд▓рди рдХрд░рддрд╛ рд╣реИред

рдПрдХ рдкрд▓ рдореЗрдВ, рдЖрдк рджреЗрдЦреЗрдВрдЧреЗ рдХрд┐ рд╕рдореАрдХрд░рдг рдХреЗ рджрд╛рдИрдВ рдУрд░ рдЕрдзрд┐рдХрддрдо рдХреИрд╕реЗ рдХрд░реЗрдВред рдЗрд╕ рдорд╛рдорд▓реЗ рдореЗрдВ, рдмрд╛рдИрдВ рдУрд░ рднреА рдЕрдзрд┐рдХрддрдо рд╣реИ:

  • P(x) рдЕрдзрд┐рдХрддрдоред
  • рдХрд┐рддрдиреА рджреВрд░ рд╣реИ Q(z|x) рд╕реЗ P(z|x) - рдЕрдЬреНрдЮрд╛рдд рдПрдХ рд╡рд╛рд╕реНрддрд╡рд┐рдХ - рдиреНрдпреВрдирддрдо рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ред

рд╕рдореАрдХрд░рдг рдХреЗ рджрд╛рдИрдВ рдУрд░ рдХрд╛ рдЕрд░реНрде рдпрд╣ рд╣реИ рдХрд┐ рд╣рдореЗрдВ рдпрд╣рд╛рдВ рддрдирд╛рд╡ рд╣реИ:

  1. рдПрдХ рдУрд░, рд╣рдо рдЕрдзрд┐рдХрддрдо рдХрд┐рддрдирд╛ рдЕрдЪреНрдЫрд╛ рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ x рд╕реЗ рдбрд┐рдХреЛрдб рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП z simQ ред
  2. рджреВрд╕рд░реА рддрд░рдл, рд╣рдо рдЪрд╛рд╣рддреЗ рд╣реИрдВ Q(z|x) ( рдПрдирдХреЛрдбрд░ ) рдкрд╣рд▓реЗ рдХреА рддрд░рд╣ рд╣реА рдерд╛ P(z) (рдмрд╣реБрдЖрдпрд╛рдореА рдЧрд╛рдКрд╕реА рд╡рд┐рддрд░рдг)ред рдЗрд╕реЗ рдирд┐рдпрдорд┐рддреАрдХрд░рдг рдХреЗ рд░реВрдк рдореЗрдВ рджреЗрдЦрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред

рд╡рд┐рдЪрд▓рди рдХреЛ рдХрдо рд╕реЗ рдХрдо рдХрд░рдирд╛  mathcalKL рд╡рд┐рддрд░рдг рдХреЗ рд╕рд╣реА рдЪрдпрди рдХреЗ рд╕рд╛рде рдЖрд╕рд╛рдиреА рд╕реЗ рдкреНрд░рджрд░реНрд╢рди рдХрд┐рдпрд╛ред рд╣рдо рдЕрдиреБрдХрд░рдг рдХрд░реЗрдВрдЧреЗ Q(z|x) рдПрдХ рддрдВрддреНрд░рд┐рдХрд╛ рдиреЗрдЯрд╡рд░реНрдХ рдХреЗ рд░реВрдк рдореЗрдВ, рдЬрд┐рд╕рдХрд╛ рдЙрддреНрдкрд╛рджрди рдПрдХ рдмрд╣реБрдЖрдпрд╛рдореА рдЧрд╛рдКрд╕реА рд╡рд┐рддрд░рдг рдХреЗ рдорд╛рдкрджрдВрдбреЛрдВ рд╣реИ:

  • рдФрд╕рдд  muQ
  • рд╡рд┐рдХрд░реНрдг рд╕рд╣рд╕рдВрдпреЛрдЬрдХ рдореИрдЯреНрд░рд┐рдХреНрд╕  рд╕рд┐рдЧреНрдорд╛рдХреНрдпреВ

рдлрд┐рд░ рд╡рд┐рдЪрд▓рди  mathcalKL рд╡рд┐рд╢реНрд▓реЗрд╖рдгрд╛рддреНрдордХ рд░реВрдк рд╕реЗ рд╣рд▓ рдХрд░рдиреЗ рдпреЛрдЧреНрдп рд╣реЛ рдЬрд╛рддрд╛ рд╣реИ, рдЬреЛ рд╣рдорд╛рд░реЗ рд▓рд┐рдП (рдФрд░ рдЧреНрд░реЗрдбрд┐рдПрдВрдЯ рдХреЗ рд▓рд┐рдП) рдмрд╣реБрдд рдЕрдЪреНрдЫрд╛ рд╣реИред

рдбрд┐рдХреЛрдбрд░ рднрд╛рдЧ рдереЛрдбрд╝рд╛ рдЕрдзрд┐рдХ рдЬрдЯрд┐рд▓ рд╣реИред рдкрд╣рд▓реА рдирдЬрд╝рд░ рдореЗрдВ, рдореИрдВ рдпрд╣ рдмрддрд╛рдирд╛ рдЪрд╛рд╣реВрдВрдЧрд╛ рдХрд┐ рдпрд╣ рд╕рдорд╕реНрдпрд╛ рдореЛрдВрдЯреЗ рдХрд╛рд░реНрд▓реЛ рд╡рд┐рдзрд┐ рджреНрд╡рд╛рд░рд╛ рдЕрд╕реНрд╡реАрдХрд╛рд░реНрдп рд╣реИред рд▓реЗрдХрд┐рди рдирдореВрдирд╛ рд╣реИ z рд╕реЗ рдХреНрдпреВ рдЧреНрд░реЗрдбрд┐рдПрдВрдЯ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдкреНрд░рдЪрд╛рд░ рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рдирд╣реАрдВ рджреЗрдЧрд╛ рдХреНрдпреВ , рдХреНрдпреЛрдВрдХрд┐ рдЪрдпрди рдПрдХ рдЕрд▓рдЧ рд╕рдВрдЪрд╛рд▓рди рдирд╣реАрдВ рд╣реИред рдпрд╣ рдПрдХ рд╕рдорд╕реНрдпрд╛ рд╣реИ, рддрдм рд╕реЗ рдкрд░рддреЗрдВ рдЬрд╛рд░реА рдХрд░рдиреЗ рдХрд╛ рд╡рдЬрди  рд╕рд┐рдЧреНрдорд╛рдХреНрдпреВ рдФрд░  muQ ред

рдирдпрд╛ рдкреИрд░рд╛рдореАрдЯрд░ рдЪрд╛рд▓


рд╣рдо рдмрджрд▓ рд╕рдХрддреЗ рд╣реИрдВ рдХреНрдпреВ рдПрдХ рдЧреИрд░-рдпрд╛рджреГрдЪреНрдЫрд┐рдХ рдпрд╛рджреГрдЪреНрдЫрд┐рдХ рдЪрд░ рдХрд╛ рдирд┐рдпрддрд╛рддреНрдордХ рдкреИрд░рд╛рдЯреНрд░рд╛рдЗрдЬреНрдб рдкрд░рд┐рд╡рд░реНрддрди:

  1. рдорд╛рдирдХ (рдорд╛рдкрджрдВрдбреЛрдВ рдХреЗ рдмрд┐рдирд╛) рдЧрд╛рдКрд╕реА рд╡рд┐рддрд░рдг рд╕реЗ рдПрдХ рдирдореВрдирд╛ред
  2. рд╡рд░реНрдЧрдореВрд▓ рджреНрд╡рд╛рд░рд╛ рдирдореВрдирд╛ рдЧреБрдгрд╛  рд╕рд┐рдЧреНрдорд╛рдХреНрдпреВ ред
  3. рдкрд░рд┐рдгрд╛рдо рдореЗрдВ рдЬреЛрдбрд╝рдирд╛  muQ ред

рдирддреАрдЬрддрди, рд╣рдо рдПрдХ рд╕рдорд╛рди рд╡рд┐рддрд░рдг рдкреНрд░рд╛рдкреНрдд рдХрд░рддреЗ рд╣реИрдВ рдХреНрдпреВ ред рдЕрдм рднреНрд░реВрдг рдСрдкрд░реЗрд╢рди рдорд╛рдирдХ рдЧрд╛рдКрд╕реА рд╡рд┐рддрд░рдг рд╕реЗ рдЖрддрд╛ рд╣реИред рдирддреАрдЬрддрди, рдЧреНрд░реЗрдбрд┐рдПрдВрдЯ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдкреНрд░рдЪрд╛рд░ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ  рд╕рд┐рдЧреНрдорд╛рдХреНрдпреВ рдФрд░  muQ рдЪреВрдВрдХрд┐ рдЕрдм рдпреЗ рдирд┐рд░реНрдзрд╛рд░рдХ рдорд╛рд░реНрдЧ рд╣реИрдВред

рдкрд░рд┐рдгрд╛рдо? рдореЙрдбрд▓ рдорд╛рдкрджрдВрдбреЛрдВ рдХреЛ рд╕рдорд╛рдпреЛрдЬрд┐рдд рдХрд░рдиреЗ рдХрд╛ рддрд░реАрдХрд╛ рдЬрд╛рдирдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рд╣реЛрдЧрд╛ рдХреНрдпреВ : рд╡рд╣ рдЕрдЪреНрдЫреЗ рдХреЗ рдЖрд╕рдкрд╛рд╕ рдзреНрдпрд╛рди рдХреЗрдВрджреНрд░рд┐рдд рдХрд░реЗрдЧрд╛ z рдЬреЛ рдЙрддреНрдкрд╛рджрди рдХрд░рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рд╣реИрдВ x ред

рдпрд╣ рд╕рдм рдПрдХ рд╕рд╛рде рд░рдЦрдирд╛


VAE рдореЙрдбрд▓ рдХреЛ рд╕рдордЭрдирд╛ рдореБрд╢реНрдХрд┐рд▓ рд╣реЛ рд╕рдХрддрд╛ рд╣реИред рд╣рдордиреЗ рдпрд╣рд╛рдВ рдмрд╣реБрдд рд╕рд╛рд░реА рд╕рд╛рдордЧреНрд░реА рдХреА рдЬрд╛рдВрдЪ рдХреА рд╣реИ рдЬрд┐рд╕реЗ рдкрдЪрд╛рдирд╛ рдореБрд╢реНрдХрд┐рд▓ рд╣реИред

рдореБрдЭреЗ рд╡реАрдПрдИ рдХреЛ рд▓рд╛рдЧреВ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╕рднреА рдЪрд░рдгреЛрдВ рдХреЛ рд╕рдВрдХреНрд╖реЗрдк рдореЗрдВ рдкреНрд░рд╕реНрддреБрдд рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдПред



рдмрд╛рдИрдВ рдУрд░ рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдПрдХ рдореЙрдбрд▓ рдкрд░рд┐рднрд╛рд╖рд╛ рд╣реИ:

  1. рдЗрдирдкреБрдЯ рдЫрд╡рд┐ рдПрдирдХреЛрдбрд░ рдиреЗрдЯрд╡рд░реНрдХ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдкреНрд░реЗрд╖рд┐рдд рд╣реЛрддреА рд╣реИред
  2. рдПрдирдХреЛрдбрд░ рд╡рд┐рддрд░рдг рдкреИрд░рд╛рдореАрдЯрд░ рдкреНрд░рджрд╛рди рдХрд░рддрд╛ рд╣реИ Q(z|x) ред
  3. рдЫрд┐рдкреЗ рд╣реБрдП рд╡реЗрдХреНрдЯрд░ z рд╕реЗ рд▓рд┐рдпрд╛ рдЧрдпрд╛ Q(z|x) ред рдпрджрд┐ рдПрдирдХреЛрдбрд░ рдЕрдЪреНрдЫреА рддрд░рд╣ рд╕реЗ рдкреНрд░рд╢рд┐рдХреНрд╖рд┐рдд рд╣реИ, рддреЛ рдЬреНрдпрд╛рджрд╛рддрд░ рдорд╛рдорд▓реЛрдВ рдореЗрдВ z рдПрдХ рд╡рд┐рд╡рд░рдг рд╢рд╛рдорд┐рд▓ рд╣реИрдВ x ред
  4. рдбрд┐рдХреЛрдбрд░ рдбрд┐рдХреЛрдб z рдЫрд╡рд┐ рдореЗрдВред

рджрд╛рдИрдВ рдУрд░, рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдПрдХ рд╣рд╛рдирд┐ рдХрд╛рд░реНрдп рд╣реИ:

  1. рдкреБрдирд░реНрдкреНрд░рд╛рдкреНрддрд┐ рддреНрд░реБрдЯрд┐: рдЖрдЙрдЯрдкреБрдЯ рдЗрдирдкреБрдЯ рдХреЗ рд╕рдорд╛рди рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдПред
  2. Q(z|x) рдкрд┐рдЫрд▓реЗ рдПрдХ рдХреЗ рд╕рдорд╛рди рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП, рдЕрд░реНрдерд╛рддреН рдПрдХ рдмрд╣реБрдЖрдпрд╛рдореА рдорд╛рдирдХ рд╕рд╛рдорд╛рдиреНрдп рд╡рд┐рддрд░рдгред

рдирдИ рдЫрд╡рд┐рдпрд╛рдВ рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП, рдЖрдк рд╕реАрдзреЗ рдкрд┐рдЫрд▓реЗ рд╡рд┐рддрд░рдг рд╕реЗ рдЫрд┐рдкреЗ рд╣реБрдП рд╡реЗрдХреНрдЯрд░ рдХрд╛ рдЪрдпрди рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдФрд░ рдЗрд╕реЗ рдПрдХ рдЫрд╡рд┐ рдореЗрдВ рдбреАрдХреЛрдб рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред

рдХрд╛рд░реНрдп рдХреЛрдб


рдЕрдм рд╣рдо рд╡реАрдПрдИ рдХрд╛ рдЕрдзрд┐рдХ рд╡рд┐рд╕реНрддрд╛рд░ рд╕реЗ рдЕрдзреНрдпрдпрди рдХрд░реЗрдВрдЧреЗ рдФрд░ рдХрд╛рд░реНрдп рдХреЛрдб рдкрд░ рд╡рд┐рдЪрд╛рд░ рдХрд░реЗрдВрдЧреЗред рдЖрдк рд╡реАрдПрдИ рдХреЛ рд▓рд╛рдЧреВ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЖрд╡рд╢реНрдпрдХ рд╕рднреА рддрдХрдиреАрдХреА рд╡рд┐рд╡рд░рдгреЛрдВ рдХреЛ рд╕рдордЭреЗрдВрдЧреЗред рдПрдХ рдмреЛрдирд╕ рдХреЗ рд░реВрдк рдореЗрдВ, рдореИрдВ рдЖрдкрдХреЛ рдПрдХ рджрд┐рд▓рдЪрд╕реНрдк рдЪрд╛рд▓ рджрд┐рдЦрд╛рдКрдВрдЧрд╛: рдЫрд┐рдкреЗ рд╣реБрдП рд╡реЗрдХреНрдЯрд░ рдХреЗ рдХреБрдЫ рдЖрдпрд╛рдореЛрдВ рдХреЗ рд▓рд┐рдП рд╡рд┐рд╢реЗрд╖ рднреВрдорд┐рдХрд╛рдПрдВ рдХреИрд╕реЗ рдЕрд╕рд╛рдЗрди рдХрд░реЗрдВ рддрд╛рдХрд┐ рдореЙрдбрд▓ рд╕рдВрдХреЗрддрд┐рдд рд╕рдВрдЦреНрдпрд╛рдУрдВ рдХреЗ рдЪрд┐рддреНрд░ рдЙрддреНрдкрдиреНрди рдХрд░рдирд╛ рд╢реБрд░реВ рдХрд░ рджреЗред

import numpy as np import tensorflow as tf from tensorflow.examples.tutorials.mnist import input_data import matplotlib.pyplot as plt np.random.seed(42) tf.set_random_seed(42) %matplotlib inline 

рдореИрдВ рдЖрдкрдХреЛ рдпрд╛рдж рджрд┐рд▓рд╛рддрд╛ рд╣реВрдВ рдХрд┐ рдореЙрдбрд▓ MNIST рдкрд░ рдкреНрд░рд╢рд┐рдХреНрд╖рд┐рдд рд╣реИрдВ - рд╣рд╕реНрддрд▓рд┐рдЦрд┐рдд рд╕рдВрдЦреНрдпрд╛рдУрдВ рдХрд╛ рдПрдХ рд╕реЗрдЯред рдЗрдирдкреБрдЯ рдЪрд┐рддреНрд░ рдкреНрд░рд╛рд░реВрдк рдореЗрдВ рдЖрддреЗ рд╣реИрдВ  mathbbR28├Ч28 ред

 mnist = input_data.read_data_sets('MNIST_data') input_size = 28 * 28 num_digits = 10 

рдЕрдЧрд▓рд╛, рд╣рдо рд╣рд╛рдЗрдкрд░рдкрд░рдореЗрдЯрд░реНрд╕ рдХреЛ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд░рддреЗ рд╣реИрдВред

рдореЙрдбрд▓ рдХреЛ рдкреНрд░рднрд╛рд╡рд┐рдд рдХрд░рдиреЗ рдХреЗ рддрд░реАрдХреЗ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЬрд╛рдирдиреЗ рдХреЗ рд▓рд┐рдП рд╡рд┐рднрд┐рдиреНрди рдореВрд▓реНрдпреЛрдВ рдХреЗ рд╕рд╛рде рдЦреЗрд▓рдиреЗ рдХреЗ рд▓рд┐рдП рд╕реНрд╡рддрдВрддреНрд░ рдорд╣рд╕реВрд╕ рдХрд░реЗрдВред

 params = { 'encoder_layers': [128], #       'decoder_layers': [128], #    (CNN ,     ) 'digit_classification_layers': [128], #   ,   'activation': tf.nn.sigmoid, #      'decoder_std': 0.5, #   P(x|z)   'z_dim': 10, #    'digit_classification_weight': 10.0, #   ,   'epochs': 20, 'batch_size': 100, 'learning_rate': 0.001 } 

рдЖрджрд░реНрд╢




рдореЙрдбрд▓ рдореЗрдВ рддреАрди рд╕рдмрдиреЗрдЯ рд╣реЛрддреЗ рд╣реИрдВ:

  1. рд╣реЛ рдЬрд╛рддрд╛ рд╣реИ x (рдЫрд╡рд┐), рдЗрд╕реЗ рдПрдХ рд╡рд┐рддрд░рдг рдореЗрдВ рдПрдирдХреЛрдб рдХрд░рддрд╛ рд╣реИ Q(z|x) рдЫрд┐рдкреА рд╣реБрдИ рдЬрдЧрд╣ рдореЗрдВред
  2. рд╣реЛ рдЬрд╛рддрд╛ рд╣реИ z рдЫрд┐рдкреЗ рд╣реБрдП рд╕реНрдерд╛рди рдореЗрдВ (рдЫрд╡рд┐ рдХрд╛ рдХреЛрдб рдкреНрд░рддрд┐рдирд┐рдзрд┐рддреНрд╡), рдЗрд╕реЗ рд╕рдВрдмрдВрдзрд┐рдд рдЫрд╡рд┐ рдореЗрдВ рдбрд┐рдХреЛрдб рдХрд░рддрд╛ рд╣реИ рдЪ(z) ред
  3. рд╣реЛ рдЬрд╛рддрд╛ рд╣реИ x рдФрд░ 10-рдЖрдпрд╛рдореА рдкрд░рдд рдХреЗ рд╕рд╛рде рддреБрд▓рдирд╛ рдХрд░рдХреЗ рд╕рдВрдЦреНрдпрд╛ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд░рддрд╛ рд╣реИ, рдЬрд╣рд╛рдВ i-th рдорд╛рди рдореЗрдВ i-th рд╕рдВрдЦреНрдпрд╛ рдХреА рд╕рдВрднрд╛рд╡рдирд╛ рд╣реЛрддреА рд╣реИред

рдкрд╣рд▓реЗ рджреЛ рд╕рдмрдиреЗрдЯ рд╢реБрджреНрдз VAE рдХреА рдиреАрдВрд╡ рд╣реИрдВред

рддреАрд╕рд░рд╛ рдПрдХ рд╕рд╣рд╛рдпрдХ рдХрд╛рд░реНрдп рд╣реИ рдЬреЛ рдЫрд╡рд┐ рдореЗрдВ рдкрд╛рдИ рдЧрдИ рд╕рдВрдЦреНрдпрд╛рдУрдВ рдХреЛ рдПрдирдХреЛрдб рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХреБрдЫ рдЫрд┐рдкреЗ рд╣реБрдП рдЖрдпрд╛рдореЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИред рдореИрдВ рд╕рдордЭрд╛рддрд╛ рд╣реВрдВ рдХрд┐ рдХреНрдпреЛрдВ: рдкрд╣рд▓реЗ рд╣рдордиреЗ рдЪрд░реНрдЪрд╛ рдХреА рдереА рдХрд┐ рд╣рдореЗрдВ рдкрд░рд╡рд╛рд╣ рдирд╣реАрдВ рд╣реИ рдХрд┐ рдЫрд┐рдкреЗ рд╣реБрдП рд╕реНрдерд╛рди рдХреЗ рдкреНрд░рддреНрдпреЗрдХ рдЖрдпрд╛рдо рдореЗрдВ рдХреНрдпрд╛ рдЬрд╛рдирдХрд╛рд░реА рд╣реИред рдПрдХ рдореЙрдбрд▓ рдХрд┐рд╕реА рднреА рдЬрд╛рдирдХрд╛рд░реА рдХреЛ рдХреЛрдб рдХрд░рдирд╛ рд╕реАрдЦ рд╕рдХрддрд╛ рд╣реИ рдЬрд┐рд╕реЗ рд╡рд╣ рдЕрдкрдиреЗ рдХрд╛рд░реНрдп рдХреЗ рд▓рд┐рдП рдореВрд▓реНрдпрд╡рд╛рди рд╕рдордЭрддрд╛ рд╣реИред рдЪреВрдВрдХрд┐ рд╣рдо рдбреЗрдЯрд╛ рд╕реЗрдЯ рд╕реЗ рдкрд░рд┐рдЪрд┐рдд рд╣реИрдВ, рд╣рдо рдЖрдпрд╛рдо рдХреЗ рдорд╣рддреНрд╡ рдХреЛ рдЬрд╛рдирддреЗ рд╣реИрдВ, рдЬрд┐рд╕рдореЗрдВ рдЕрдВрдХреЛрдВ рдХрд╛ рдкреНрд░рдХрд╛рд░ (рдпрд╛рдиреА рдЗрд╕рдХрд╛ рд╕рдВрдЦреНрдпрд╛рддреНрдордХ рдорд╛рди) рд╣реЛрддрд╛ рд╣реИред рдФрд░ рдЕрдм рд╣рдо рдЙрд╕реЗ рдпрд╣ рдЬрд╛рдирдХрд╛рд░реА рдкреНрд░рджрд╛рди рдХрд░рдХреЗ рдореЙрдбрд▓ рдХреА рдорджрдж рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВред

рдХрд┐рд╕реА рджрд┐рдП рдЧрдП рдкреНрд░рдХрд╛рд░ рдХреЗ рдЕрдВрдХ рдХреЗ рд▓рд┐рдП, рд╣рдо рд╕реАрдзреЗ рдЗрд╕реЗ рд╕рд╛рдВрдХреЗрддрд┐рдХ рд╢рдмреНрджреЛрдВ рдореЗрдВ рдмрджрд▓рдирд╛ рдХрд░рддреЗ рд╣реИрдВ, рдЕрд░реНрдерд╛рддреН, рд╣рдо рдЖрдХрд╛рд░ рдХреЗ рдПрдХ рд╡реЗрдХреНрдЯрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВред 10. рдпреЗ рджрд╕ рдирдВрдмрд░ рдПрдХ рдЫрд┐рдкреЗ рд╣реБрдП рд╡реЗрдХреНрдЯрд░ рд╕реЗ рдЬреБрдбрд╝реЗ рд╣реИрдВ, рдЗрд╕рд▓рд┐рдП рдЬрдм рдЗрд╕ рд╡реЗрдХреНрдЯрд░ рдХреЛ рдПрдХ рдЫрд╡рд┐ рдореЗрдВ рдбрд┐рдХреЛрдб рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рддреЛ рдореЙрдбрд▓ рдбрд┐рдЬрд┐рдЯрд▓ рдЬрд╛рдирдХрд╛рд░реА рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдЧрд╛ред

рдкреНрд░рддреНрдпрдХреНрд╖ рдХреЛрдбрд┐рдВрдЧ рд╡реЗрдХреНрдЯрд░ рдореЙрдбрд▓ рдкреНрд░рджрд╛рди рдХрд░рдиреЗ рдХреЗ рджреЛ рддрд░реАрдХреЗ рд╣реИрдВ:

  1. рдЗрд╕реЗ рдореЙрдбрд▓ рдХреЗ рдЗрдирдкреБрдЯ рдХреЗ рд░реВрдк рдореЗрдВ рдЬреЛрдбрд╝реЗрдВред
  2. рдЗрд╕реЗ рдПрдХ рд▓реЗрдмрд▓ рдХреЗ рд░реВрдк рдореЗрдВ рдЬреЛрдбрд╝реЗрдВ, рддрд╛рдХрд┐ рдореЙрдбрд▓ рд╕реНрд╡рдпрдВ рдкреВрд░реНрд╡рд╛рдиреБрдорд╛рди рдХреА рдЧрдгрдирд╛ рдХрд░реЗрдЧрд╛: рд╣рдо рдПрдХ рдФрд░ рд╕рдмрдиреЗрдЯ рдЬреЛрдбрд╝реЗрдВрдЧреЗ рдЬреЛ 10-рдЖрдпрд╛рдореА рд╡реЗрдХреНрдЯрд░ рдХреА рднрд╡рд┐рд╖реНрдпрд╡рд╛рдгреА рдХрд░рддрд╛ рд╣реИ, рдЬрд╣рд╛рдВ рд╣рд╛рдирд┐ рдлрд╝рдВрдХреНрд╢рди рдЕрдкреЗрдХреНрд╖рд┐рдд рдЖрдЧреЗ рдХреЛрдбрд┐рдВрдЧ рд╡реЗрдХреНрдЯрд░ рдХреЗ рд╕рд╛рде рдХреНрд░реЙрд╕ рдПрдиреНрдЯреНрд░реЙрдкреА рд╣реИред

рджреВрд╕рд░рд╛ рд╡рд┐рдХрд▓реНрдк рдЪреБрдиреЗрдВред рдХреНрдпреЛрдВ? рдареАрдХ рд╣реИ, рддреЛ рдЬрдм рдЖрдк рджреЛ рддрд░реАрдХреЛрдВ рд╕реЗ рдореЙрдбрд▓ рдХрд╛ рдкрд░реАрдХреНрд╖рдг рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ:

  1. рдЫрд╡рд┐ рдХреЛ рдЗрдирдкреБрдЯ рдХреЗ рд░реВрдк рдореЗрдВ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░реЗрдВ рдФрд░ рдПрдХ рдЫрд┐рдкреЗ рд╣реБрдП рд╡реЗрдХреНрдЯрд░ рдХреЛ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░реЗрдВред
  2. рдПрдХ рдЫрд┐рдкреЗ рд╣реБрдП рд╡реЗрдХреНрдЯрд░ рдХреЛ рдЗрдирдкреБрдЯ рдХреЗ рд░реВрдк рдореЗрдВ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░реЗрдВ рдФрд░ рдПрдХ рдЫрд╡рд┐ рдЙрддреНрдкрдиреНрди рдХрд░реЗрдВред

рдЪреВрдВрдХрд┐ рд╣рдо рдкрд╣рд▓реЗ рд╡рд┐рдХрд▓реНрдк рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ, рдЗрд╕рд▓рд┐рдП рд╣рдо рдореЙрдбрд▓ рдХреЛ рдЗрдирдкреБрдЯ рдХреЗ рд░реВрдк рдореЗрдВ рдПрдХ рдЕрдВрдХ рдирд╣реАрдВ рджреЗ рд╕рдХрддреЗ, рдХреНрдпреЛрдВрдХрд┐ рд╣рдо рдкрд░реАрдХреНрд╖рдг рдХреЗ рджреМрд░рд╛рди рдЗрд╕реЗ рдЬрд╛рдирдирд╛ рдирд╣реАрдВ рдЪрд╛рд╣рддреЗ рд╣реИрдВред рдЗрд╕рд▓рд┐рдП, рдореЙрдбрд▓ рдХреЛ рдЗрд╕рдХреА рднрд╡рд┐рд╖реНрдпрд╡рд╛рдгреА рдХрд░рдирд╛ рд╕реАрдЦрдирд╛ рдЪрд╛рд╣рд┐рдПред

 def encoder(x, layers): for layer in layers: x = tf.layers.dense(x, layer, activation=params['activation']) mu = tf.layers.dense(x, params['z_dim']) var = 1e-5 + tf.exp(tf.layers.dense(x, params['z_dim'])) return mu, var def decoder(z, layers): for layer in layers: z = tf.layers.dense(z, layer, activation=params['activation']) mu = tf.layers.dense(z, input_size) return tf.nn.sigmoid(mu) def digit_classifier(x, layers): for layer in layers: x = tf.layers.dense(x, layer, activation=params['activation']) logits = tf.layers.dense(x, num_digits) return logits 

 images = tf.placeholder(tf.float32, [None, input_size]) digits = tf.placeholder(tf.int32, [None]) #        encoder_mu, encoder_var = encoder(images, params['encoder_layers']) #     ,  #     eps = tf.random_normal(shape=[tf.shape(images)[0], params['z_dim']], mean=0.0, stddev=1.0) z = encoder_mu + tf.sqrt(encoder_var) * eps # classify the digit digit_logits = digit_classifier(images, params['digit_classification_layers']) digit_prob = tf.nn.softmax(digit_logits) #     ,  #    decoded_images = decoder(tf.concat([z, digit_prob], axis=1), params['decoder_layers']) 

 #    ,    #    loss_reconstruction = -tf.reduce_sum( tf.contrib.distributions.Normal( decoded_images, params['decoder_std'] ).log_prob(images), axis=1 ) #         . #      , #         #  ,  KL-   # ,    loss_prior = -0.5 * tf.reduce_sum( 1 + tf.log(encoder_var) - encoder_mu ** 2 - encoder_var, axis=1 ) loss_auto_encode = tf.reduce_mean( loss_reconstruction + loss_prior, axis=0 ) # digit_classification_weight      , #      loss_digit_classifier = params['digit_classification_weight'] * tf.reduce_mean( tf.nn.sparse_softmax_cross_entropy_with_logits(labels=digits, logits=digit_logits), axis=0 ) loss = loss_auto_encode + loss_digit_classifier train_op = tf.train.AdamOptimizer(params['learning_rate']).minimize(loss) 

рдЯреНрд░реЗрдирд┐рдВрдЧ




рд╣рдо рджреЛ рдиреБрдХрд╕рд╛рди рдХрд╛рд░реНрдпреЛрдВ рдХреЗ рдЕрдиреБрдХреВрд▓рди рдХреЗ рд▓рд┐рдП рдПрдХ рдореЙрдбрд▓ рдХреЛ рдкреНрд░рд╢рд┐рдХреНрд╖рд┐рдд рдХрд░реЗрдВрдЧреЗ - VAE рдФрд░ рд╡рд░реНрдЧреАрдХрд░рдг - SGD рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реБрдПред

рдкреНрд░рддреНрдпреЗрдХ рдпреБрдЧ рдХреЗ рдЕрдВрдд рдореЗрдВ, рд╣рдо рдЫрд┐рдкреЗ рд╣реБрдП рд╡реИрдХреНрдЯрд░реЛрдВ рдХрд╛ рдЪрдпрди рдХрд░рддреЗ рд╣реИрдВ рдФрд░ рдЙрдиреНрд╣реЗрдВ рдЫрд╡рд┐рдпреЛрдВ рдореЗрдВ рдбрд┐рдХреЛрдб рдХрд░рддреЗ рд╣реИрдВ рдХрд┐ рд╡реЗ рдпрд╣ рджреЗрдЦ рд╕рдХреЗрдВ рдХрд┐ рдХрд┐рд╕ рдкреНрд░рдХрд╛рд░ рдореЙрдбрд▓ рдХреА рдкреАрдврд╝реА рдХреА рд╢рдХреНрддрд┐ рдпреБрдЧреЛрдВ рдореЗрдВ рд╕реБрдзрд╛рд░ рдХрд░рддреА рд╣реИред рдирдореВрдирд╛ рд▓реЗрдиреЗ рдХреА рд╡рд┐рдзрд┐ рдЗрд╕ рдкреНрд░рдХрд╛рд░ рд╣реИ:

  1. рд╕реНрдкрд╖реНрдЯ рд░реВрдк рд╕реЗ рдЙрди рдЖрдпрд╛рдореЛрдВ рдХреЛ рд╕реЗрдЯ рдХрд░реЗрдВ рдЬрд┐рдирдХрд╛ рдЙрдкрдпреЛрдЧ рдЙрд╕ рдЕрдВрдХ рджреНрд╡рд╛рд░рд╛ рд╡рд░реНрдЧреАрдХреГрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рдЬрд┐рд╕реЗ рд╣рдо рдЙрддреНрдкрдиреНрди рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдпрджрд┐ рд╣рдо рд╕рдВрдЦреНрдпрд╛ 2 рдХреА рдПрдХ рдЫрд╡рд┐ рдмрдирд╛рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ, рддреЛ рд╣рдо рдорд╛рдк рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд░рддреЗ рд╣реИрдВ [0010000000] ред
  2. рдмрд╣реБрдЖрдпрд╛рдореА рд╕рд╛рдорд╛рдиреНрдп рд╡рд┐рддрд░рдг рдХреЗ рдЕрдиреНрдп рдЖрдпрд╛рдореЛрдВ рд╕реЗ рдмреЗрддрд░рддреАрдм рдврдВрдЧ рд╕реЗ рдЪрдпрди рдХрд░реЗрдВред рдЗрд╕ рдпреБрдЧ рдореЗрдВ рдЙрддреНрдкрдиреНрди рд╣реЛрдиреЗ рд╡рд╛рд▓реА рд╡рд┐рднрд┐рдиреНрди рд╕рдВрдЦреНрдпрд╛рдУрдВ рдХреЗ рд▓рд┐рдП рдпреЗ рдореВрд▓реНрдп рд╣реИрдВред рдЗрд╕рд▓рд┐рдП рд╣рдореЗрдВ рдЗрд╕ рдмрд╛рдд рдХрд╛ рдЕрдВрджрд╛рдЬрд╛ рд╣реЛ рдЬрд╛рддрд╛ рд╣реИ рдХрд┐ рдЕрдиреНрдп рдЖрдпрд╛рдореЛрдВ рдореЗрдВ рдХреНрдпрд╛ рдХреВрдЯрдмрджреНрдз рд╣реИ, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рд▓рд┐рдЦрд╛рд╡рдЯ рд╢реИрд▓реАред

рдЪрд░рдг 1 рдХрд╛ рдЕрд░реНрде рдпрд╣ рд╣реИ рдХрд┐ рдЕрднрд┐рд╕рд░рдг рдХреЗ рдмрд╛рдж, рдореЙрдбрд▓ рдХреЛ рдЗрди рдорд╛рдк рд╕реЗрдЯрд┐рдВрдЧреНрд╕ рджреНрд╡рд╛рд░рд╛ рдЗрдирдкреБрдЯ рдЫрд╡рд┐ рдореЗрдВ рдЖрдВрдХрдбрд╝реЗ рдХреЛ рд╡рд░реНрдЧреАрдХреГрдд рдХрд░рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдПред рд╣рд╛рд▓рд╛рдБрдХрд┐, рдЗрдирдХрд╛ рдЙрдкрдпреЛрдЧ рдЪрд┐рддреНрд░ рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдбрд┐рдХреЛрдбрд┐рдВрдЧ рдЪрд░рдг рдореЗрдВ рднреА рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдпрд╣реА рд╣реИ, рдбрд┐рдХреЛрдбрд░ рд╕рдмрдиреЗрдЯ рдЬрд╛рдирддрд╛ рд╣реИ: рдЬрдм рдорд╛рдк 2 рдирдВрдмрд░ рдХреЗ рдЕрдиреБрд░реВрдк рд╣реЛрддрд╛ рд╣реИ, рддреЛ рдЙрд╕реЗ рдЗрд╕ рд╕рдВрдЦреНрдпрд╛ рдХреЗ рд╕рд╛рде рдПрдХ рдЪрд┐рддреНрд░ рдЙрддреНрдкрдиреНрди рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдПред рдЗрд╕рд▓рд┐рдП, рдпрджрд┐ рд╣рдо рдорд╛рдк рдХреЛ рдореИрдиреНрдпреБрдЕрд▓ рд░реВрдк рд╕реЗ рд╕рдВрдЦреНрдпрд╛ 2 рдкрд░ рд╕реЗрдЯ рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рд╣рдореЗрдВ рдЗрд╕ рдЖрдВрдХрдбрд╝реЗ рдХреА рдПрдХ рдЙрддреНрдкрдиреНрди рдЫрд╡рд┐ рдорд┐рд▓реЗрдЧреАред

 samples = [] losses_auto_encode = [] losses_digit_classifier = [] with tf.Session() as sess: sess.run(tf.global_variables_initializer()) for epoch in xrange(params['epochs']): for _ in xrange(mnist.train.num_examples / params['batch_size']): batch_images, batch_digits = mnist.train.next_batch(params['batch_size']) sess.run(train_op, feed_dict={images: batch_images, digits: batch_digits}) train_loss_auto_encode, train_loss_digit_classifier = sess.run( [loss_auto_encode, loss_digit_classifier], {images: mnist.train.images, digits: mnist.train.labels}) losses_auto_encode.append(train_loss_auto_encode) losses_digit_classifier.append(train_loss_digit_classifier) sample_z = np.tile(np.random.randn(1, params['z_dim']), reps=[num_digits, 1]) gen_samples = sess.run(decoded_images, feed_dict={z: sample_z, digit_prob: np.eye(num_digits)}) samples.append(gen_samples) 

рдЖрдЗрдП рджреЗрдЦреЗрдВ рдХрд┐ рджреЛрдиреЛрдВ рдиреБрдХрд╕рд╛рди рдХрд╛рд░реНрдп рдЕрдЪреНрдЫреЗ рд▓рдЧрддреЗ рд╣реИрдВ, рдЕрд░реНрдерд╛рддреН рд╡реЗ рдШрдЯрддреЗ рд╣реИрдВ:

 plt.subplot(121) plt.plot(losses_auto_encode) plt.title('VAE loss') plt.subplot(122) plt.plot(losses_digit_classifier) plt.title('digit classifier loss') plt.tight_layout() 



рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдЖрдЗрдП рдЙрддреНрдкрдиреНрди рдЪрд┐рддреНрд░реЛрдВ рдХреЛ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░реЗрдВ рдФрд░ рджреЗрдЦреЗрдВ рдХрд┐ рдХреНрдпрд╛ рдореЙрдбрд▓ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рд╣рд╕реНрддрд▓рд┐рдЦрд┐рдд рд╕рдВрдЦреНрдпрд╛рдУрдВ рдХреЗ рд╕рд╛рде рдЪрд┐рддреНрд░ рдмрдирд╛ рд╕рдХрддрд╛ рд╣реИ:

 def plot_samples(samples): IMAGE_WIDTH = 0.7 plt.figure(figsize=(IMAGE_WIDTH * num_digits, len(samples) * IMAGE_WIDTH)) for epoch, images in enumerate(samples): for digit, image in enumerate(images): plt.subplot(len(samples), num_digits, epoch * num_digits + digit + 1) plt.imshow(image.reshape((28, 28)), cmap='Greys_r') plt.gca().xaxis.set_visible(False) if digit == 0: plt.gca().yaxis.set_ticks([]) plt.ylabel('epoch {}'.format(epoch + 1), verticalalignment='center', horizontalalignment='right', rotation=0, fontsize=14) else: plt.gca().yaxis.set_visible(False) plot_samples(samples) 


рдирд┐рд╖реНрдХрд░реНрд╖


рдпрд╣ рджреЗрдЦрдирд╛ рдЕрдЪреНрдЫрд╛ рд╣реИ рдХрд┐ рдПрдХ рд╕рд╛рдзрд╛рд░рдг рдкреНрд░рддреНрдпрдХреНрд╖ рд╡рд┐рддрд░рдг рдиреЗрдЯрд╡рд░реНрдХ (рдмрд┐рдирд╛ рдлреИрдВрд╕реА рдХрдирд╡рд▓реНрд╢рди рдХреЗ) рдХреЗрд╡рд▓ 20 рдпреБрдЧреЛрдВ рдореЗрдВ рд╕реБрдВрджрд░ рдЪрд┐рддреНрд░ рдмрдирд╛рддрд╛ рд╣реИред рдореЙрдбрд▓ рдиреЗ рд╕рдВрдЦреНрдпрд╛рдУрдВ рдХреЗ рд▓рд┐рдП рд╡рд┐рд╢реЗрд╖ рдорд╛рдк рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рдЬрд▓реНрджреА рд╕реЗ рд╕реАрдЦрд╛: 9 рд╡реЗрдВ рдпреБрдЧ рдореЗрдВ, рд╣рдо рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдЙрди рд╕рдВрдЦреНрдпрд╛рдУрдВ рдХреЗ рдЕрдиреБрдХреНрд░рдо рдХреЛ рджреЗрдЦрддреЗ рд╣реИрдВ рдЬрд┐рдиреНрд╣реЗрдВ рд╣рдо рдЙрддреНрдкрдиреНрди рдХрд░рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░ рд░рд╣реЗ рдереЗред

рдкреНрд░рддреНрдпреЗрдХ рдпреБрдЧ рдореЗрдВ рдЕрдиреНрдп рдЖрдпрд╛рдореЛрдВ рдХреЗ рд▓рд┐рдП рд╡рд┐рднрд┐рдиреНрди рдпрд╛рджреГрдЪреНрдЫрд┐рдХ рдореВрд▓реНрдпреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдЗрд╕рд▓рд┐рдП рд╢реИрд▓реА рдпреБрдЧреЛрдВ рдХреЗ рдмреАрдЪ рднрд┐рдиреНрди рд╣реЛрддреА рд╣реИ, рд▓реЗрдХрд┐рди рдпрд╣ рдЙрдирдХреЗ рднреАрддрд░ рд╕рдорд╛рди рд╣реИ: рдХрдо рд╕реЗ рдХрдо рдХреБрдЫ рдХреЗ рднреАрддрд░ред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, 18 рд╡реЗрдВ рдореЗрдВ, 20 рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рд╕рднреА рд╕рдВрдЦреНрдпрд╛рдПрдВ рдореЛрдЯреА рд╣реИрдВред

рдиреЛрдЯ


рд▓реЗрдЦ рдореЗрд░реЗ рдЕрдиреБрднрд╡ рдФрд░ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рд╕реНрд░реЛрддреЛрдВ рдкрд░ рдЖрдзрд╛рд░рд┐рдд рд╣реИ:

Source: https://habr.com/ru/post/hi429276/


All Articles